2015-11-27 247 views
1

我將兩個csv文件與不同的標題組合在一起。我遇到了將值寫入新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

如果你有不同的標題,這意味着你有不同的列(和列的數量)。所以你必須解決如何組合兩個不同的表。 在你的源文件中,我看不到你想要什麼,什麼是錯。請添加stacktrace或別的。

2

您需要使用某些內容輸出到文件而不是控制檯(System.out.println打印到控制檯)。 嘗試,例如:http://www.java2s.com/Tutorial/Java/0180__File/WritelinesoftexttofileusingaPrintWriter.htm 另外,如上面提到的ztrn,您需要確保您的數據列在兩個文件之間排列。如果包含標題信息,則可能需要放棄第二個CSV的第一行。 最後,確保不要將連字符行打印到文件中,或者「完成」,否則您將有垃圾數據。