我目前停留在代码中的某个位置。我需要将数据写入文本文件,我需要进行一些排序,它们会花费每种排序完成的时间,然后将它们放入一个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,然后在将所有数据写入文件后将其关闭?

09-10 03:56
查看更多