2016-10-19 6 views
0

В настоящее время я создаю простую программу AI (Simsimi). Я учу программе, что она должна отвечать на мои фразы, чтобы, когда я «поговорю» с ней, она ответит, если то, что я говорю, уже «научено» программе. Однако мне также нужно сохранить список ответов, которые программа уже изучила, и пока сохраняется только последний вход. Что я имею в виду? Скажем, в программе учат отвечать на фразы Hello, Good morning и Have a good day!.BufferedWriter сохраняет только последний вход в текстовом файле

Мне нужно сохранить все эти три в текстовом файле response.txt. Однако, учитывая, что порядок входов один и тот же, я могу только сохранить Have a good day! в файл. Вот мой код:

System.out.println("\nWhat should I reply to that?\n"); 
answer = simsimiInput.nextLine(); 
try { 
     writer = new BufferedWriter(new FileWriter("response.txt")); 
     writer.write(answer); 
     writer.close(); 

} catch (FileNotFoundException e){} 

Любая помощь будет принята с благодарностью!

+0

Не могли бы вы создать [MCVE] (http://stackoverflow.com/help/mcve)? Что произойдет, если вы присвоите жестко запрограммированное значение 'answer'? –

ответ

5

Вы переписываете файл каждый раз, когда вы вызываете блок в пределах try.

Чтобы добавить файл в файл, необходимо указать FileWriter.

new FileWriter(String fileName, boolean append); 

т.е.

new FileWriter("response.txt", true); 
+0

Спасибо, что это сделал трюк! – Paradigm