将Java中的字符串导出为CSV

时间:2015-10-20 17:46:06

标签: java string csv export-to-csv

如何使用只有一列将Java中的字符串导出到具有此格式的csv文件。

这就是我所期待的:

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

提前致谢

2 个答案:

答案 0 :(得分:0)

在下面的代码中,您提供了一个元素列表。每个元素都包含csv文件的一行信息。 StringBuilder用于为一行创建String,然后立即将其输出到文件。

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
            }
        }

    }

答案 1 :(得分:0)

你基本上必须逃避&#34;逗号,因此CSV阅读器不会将它们作为列分隔符进行交互。

如果将行值包装在引号中,则应将逗号忽略为delimeters

这将为您提供3列

Value1,Value2,Value3

这应该为您提供1列,整个字符串为单个值

"Value1,Value2,Value3"