写入CSV文件

时间:2015-11-27 06:16:17

标签: java

我将两个csv文件与不同的标头组合在一起。我将问题写入新的csv时遇到了问题。任何人都对此有所帮助。

csv文件中的值被合并并在控制台中打印。我需要将这些值写入新的csv文件。

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class MainCSV {

    public static void main(String[] args){
        MainCSV obj = new MainCSV();
        obj.run();
    }
     public void run() {

            String csvFile = "E:/CSV/6d54979e-60da-4c73-b6e5-b2138a7450ca.csv";
            String csvFile2 = "E:/CSV/9b5659f2-38e8-4bbd-bd7c-74ad683d5c59.csv";

            BufferedReader br = null;
            BufferedReader br2 = null;

            String line = "";
            String line2 = "";

            try {

                br = new BufferedReader(new FileReader(csvFile));
                while ((line = br.readLine()) != null) {
                    System.out.println(line);
                }
                br2 = new BufferedReader(new FileReader(csvFile2));
                System.out.println("--------------------------------------------------------");
                while ((line2 = br2.readLine()) != null) {

                    System.out.println(line2);
                    StringBuffer strbuf;

                    strbuf = new StringBuffer(line2);                                       
                }


            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (br != null) {
                    try {
                        br.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }

            System.out.println("Done");
          }
}

2 个答案:

答案 0 :(得分:2)

如果您有不同的标题,则表示您有不同的列(和列数)。所以你必须解决如何组合两个不同的表。 在你的来源中,我看不出你想要什么,有什么不对。请添加stacktrace或其他。

答案 1 :(得分:2)

您需要使用某些内容输出到文件而不是控制台(System.out.println打印到控制台)。 请尝试,例如:http://www.java2s.com/Tutorial/Java/0180__File/WritelinesoftexttofileusingaPrintWriter.htm 另外,正如上面提到的ztrn,您需要确保数据列在两个文件之间排列。如果第二个CSV包含标题信息,则可能需要丢弃第二个CSV的第一行。 最后,确保不要将连字符行打印到文件或“完成”。否则你将有垃圾数据。