2015-10-20 65 views
0

如何使用僅一列將Java中的字符串導出爲具有此格式的csv文件。將Java中的字符串導出爲CSV

這就是我期待:

   Column 1  
Row 1:  string1,string2,string3 
Row 2:  string4, string5, string6 

在此先感謝

+1

你試過了什麼?您是否嘗試過使用谷歌瀏覽器訪問序列化爲CSV的第三方庫? – jgitter

+0

它是如何單列的。由於列以逗號分隔,所以我在每行看到三列。 – SacJn

+0

打開outputstream並寫入它。 – ergonaut

回答

0

在下面的代碼,你提供的元素列表。每個元素都包含csv文件的一行信息。 StringBuilder用於爲一行創建字符串,然後一次輸出到文件。

public void writeCsvFile(List elements, String fileName) throws IOException {  
    BufferedWriter csvFile = null; 
    String delim = ","; 
    try { 
      csvFile = new BufferedWriter(new OutputStreamWriter(
         new FileOutputStream(fileName), StandardCharsets.UTF_8)); 
      for (int i = 0; i < objects.size(); i++) { 
       StringBuilder buf = new StringBuilder(); 
       Elements elem = elements.get(i); 
       buf.append(elem.info1).append(delim); 
       buf.append(elem.info2).append(delim); 
       buf.append(elem.info3); 
       csvFile.write(buf.toString()); 
       csvFile.newLine(); 
      } 
     } finally { 
      try { 
       if (csvFile != null) { 
        csvFile.close(); 
       } 
      } catch (IOException e) { 
       // empty 
      } 
     } 

    } 
0

您必須「轉義」逗號,以便CSV閱讀器不會將它們解釋爲列分隔符。

如果在引號,則逗號應該被忽略,因爲定界符換你行值

這會給你3列

Value1,Value2,Value3 

這應該給你用整個字符串作爲一個單一的1列值

"Value1,Value2,Value3"