我有以下代码:

CSVmaker(LinkedList data) {
    String [] myLines = makeStrings(data);
  //  for (int k = 0; k<myLines.length; k++)
  //  System.out.println(myLines[]);




    this.file = new File("rawdata.csv");
        try {
            BufferedWriter buff = new BufferedWriter(new FileWriter(file));
            for (int i = 0; i<myLines.length; i++){
                buff.write(myLines[i]);
                buff.newLine();
                System.out.println("done");
            }
        } catch (IOException ex) {
          System.out.println("except");
        }



}

不,我检查了myLines的内容,这些是正确的。

另外,我得到的印刷品会尽可能频繁地打印“完成”。
csv已创建。

但是,如果我手动打开它,它是空的。

这可能是什么原因?

最佳答案

您从不刷新缓冲区或关闭BufferedWriter。

在for循环之后,进行以下调用:

buff.flush();
buff.close();

即使有其他资源,在完成后关闭它们也是一个好主意。

10-07 23:58