如何使用列分隔值将数组写入文件

时间:2014-01-30 07:32:51

标签: java arrays csv

我有一个2d int数组。我希望它写在CSV文件中。我使用了以下代码

BufferedWriter writer = new BufferedWriter(new FileWriter("filecsv.csv"));
for(int index11 = 0; index11 < a.length; index11++) {
    for(int subIndex1 = 0; subIndex1 < 2; subIndex1++) {
        writer.write(a[index11][subIndex1]); 
        System.out.print(",");
    }
    System.out.println();
}

我的输出应该像

1,2
3,4
5,6

但我的CSV文件中没有写入任何内容,也没有在控制台窗口中写入任何内容。有人能告诉我我做错了吗?

3 个答案:

答案 0 :(得分:1)

三个问题:

  1. 您正在将数字打印到文件中,但是控制台的逗号和换行符(System.out)。
  2. 您在每行末尾打印另一个逗号。
  3. 你需要在最后添加writer.close(),否则这些字符就会停留在缓冲区而根本不会被写入。

答案 1 :(得分:0)

    try{      

     BufferedWriter writer = new BufferedWriter(new FileWriter("filecsv.csv"));
           for(int index11 = 0; index11 < a.length; index11++) {
               for(int subIndex1 = 0; subIndex1 < 2; subIndex1++){
                   writer.write(String.valueOf(a[index11][subIndex1])); 
                   if(subIndex1<2-1){
                       writer.write(",");

                    }
               }
               writer.write("\n");
          }
}
    catch(IOException ex){
         ex.printStackTrace();
    }
        writer.close();

答案 2 :(得分:0)

您只是根据代码 System.out.print(“,”); 将“,”数组打印到控制台。另外,我怀疑你应该做一个同花顺,在你写完内容之后,你应该关闭作者和文件。虽然我之前没有尝试编写csv文件,但这些是写入文件并保存文件的常用步骤。