如何使用只有一列将Java中的字符串导出到具有此格式的csv文件。
这就是我所期待的:
Column 1
Row 1: string1,string2,string3
Row 2: string4, string5, string6
提前致谢
答案 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"