BufferedWriter 仅将最后一次输入保存在文本文件中

BufferedWriter only saving last input in text file

我目前正在创建一个简单的 AI (Simsimi) 程序。我教程序应该如何回复我的短语,这样当我对它 "talk" 时,如果我所说的已经 "taught" 给程序,它就会回复。但是,我还需要保存程序已经学习的回复列表,到目前为止只保存了最后一个输入。我是什么意思?假设该程序已学会回复短语 HelloGood morningHave a good day!

我需要将所有这三个文件保存在一个名为 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){}

任何帮助将不胜感激!

每次调用 try 中的块时,您都在覆盖文件。

您需要告诉 FileWriter 追加到文件。

new FileWriter(String fileName, boolean append);

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