BufferedWriter 仅将最后一次输入保存在文本文件中
BufferedWriter only saving last input in text file
我目前正在创建一个简单的 AI (Simsimi) 程序。我教程序应该如何回复我的短语,这样当我对它 "talk" 时,如果我所说的已经 "taught" 给程序,它就会回复。但是,我还需要保存程序已经学习的回复列表,到目前为止只保存了最后一个输入。我是什么意思?假设该程序已学会回复短语 Hello
、Good morning
和 Have 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);
我目前正在创建一个简单的 AI (Simsimi) 程序。我教程序应该如何回复我的短语,这样当我对它 "talk" 时,如果我所说的已经 "taught" 给程序,它就会回复。但是,我还需要保存程序已经学习的回复列表,到目前为止只保存了最后一个输入。我是什么意思?假设该程序已学会回复短语 Hello
、Good morning
和 Have 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);