Java FileWriter将列添加到csv

时间:2017-11-14 20:58:43

标签: java csv filewriter

我正在将一些数组写入CSV,但我在创建第二列时遇到问题。

我可以写第一列没问题。当我尝试附加到第二列时,它编写第二列,但在第一列的末尾。

  public void printCSV() throws IOException{

    // file writer
    FileWriter writer = new FileWriter("file path");


    for(int i = 0; i < myArray.length; i++){

    if(myArray[0][i] == null){
        writer.append(" ");
    }else{

        writer.append(myArray[0][i]);
        writer.append("\n");    
    }


        } // end of for loop



    for(int i = 0; i < emptyResults.length; i++){

        writer.append(",");
        writer.append(String.valueOf(emptyResults[i]));
        writer.append("\n");


    }

    writer.close();

}

示例输出:

                   column1 column2
                    entry1
                    entry2
                    entry3
                    entry4
                            entry1  
                            entry2  
                            entry3

我喜欢什么:

                    column1 column2
                    entry1  entry1
                    entry2  entry2
                    entry3  entry3    

当我将第二个数组写入csv时,我使用&#34;,&#34;强制写入另一列。但它不会在第1行开始写作。

有什么想法吗?

感谢。

解决方案:每个循环都带有一个新行的单个循环。

   for(int i = 0; i < 128; i++){

    if(myArray[0][i] == null){
        writer.append(" ");
    }else{

        writer.append("\n");
        writer.append(myArray[0][i]+","+emptyResults[i]);

    }     

1 个答案:

答案 0 :(得分:0)

来自您的代码&amp;解释我假设两个数组的大小相同。试试这个

public void printCSV() throws IOException{

    // file writer
    FileWriter writer = new FileWriter("file.txt");



    for(int i = 0 ; i < myArray.length && i < emptyResults.length; i++){


    if(myArray[0][i] == null){
        writer.append(" "+String.valueOf(emptyResults[i]));
    }else{

        writer.append(myArray[0][i]+" "+String.valueOf(emptyResults[i]));
        writer.append("\n");    
    }


        } // end of for loop
    writer.close();

}