我目前停留在代码中的某个位置。我需要将数据写入文本文件,我需要进行一些排序,它们会花费每种排序完成的时间,然后将它们放入一个txt文件中,然后可以用来创建图形。问题是我在运行程序后只得到一行。我无法保持每个结果。
public static void resultsToFile(String sort, double seconds, File file)
{
try (PrintWriter out = new PrintWriter(new FileWriter(file)))
{
out.write(sort + "\t");
out.write(seconds + " seconds\n");
out.flush();
out.close();
}catch (IOException e)
{
e.printStackTrace();
}
}
到目前为止,这是我编写文件的方法。任何帮助将不胜感激!
最佳答案
每次将一行结果写入文件时,您都在创建一个新的PrintWriter对象,从而覆盖了保存了前一行数据的任何以前存在的File。为什么不在类中一次创建PrintWriter,然后在将所有数据写入文件后将其关闭?