另一个问题没有回答从外部系统生成的XML对象的问题,在外部系统中不可能添加引号、反斜杠或任何其他文本。
我有一个脚本:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
public class test {
public static void main(String[] args){
try {
File fileDir = new File("c:\\java2\\test.csv");
Writer out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(fileDir), "UTF8"));
out.append('\ufeff');
out.append("Webňite, UTF-8").append(",");
out.append("?? UTF-8");
out.append(",");
out.append("??????? UTF-8").append("\r\n");
out.flush();
out.close();
}
catch (UnsupportedEncodingException e)
{
System.out.println(e.getMessage());
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}我需要文本“网络ň网站,UTF-8”要写在一个细胞时转换为csv。
可以吗?
目前在3个文本中,我有4个细胞在csv中,我需要3个。
我需要组成逗号的文本,不要被csv文件分割成2个单元格。
(示例脚本仅用于演示,最后我有来自XML的java对象,它的值由逗号组成,并意外地被分成两个单元格。
所以我需要解决方案,这也将工作不是在追加纯文本,但也为对象。
谢谢
发布于 2019-02-07 21:07:51
尝试用引号将逗号括起来。所以改变你的台词:
out.append("Webňite, UTF-8").append(",");至
out.append("Webňite\",\" UTF-8").append(",");请参阅答案Is there a way to include commas in CSV columns without breaking the formatting? (顺便说一下,这可能是一个重复的问题)
发布于 2019-02-07 21:13:34
使用引号,例如
out.append("\"Webňite, UTF-8\"").append(",");或
out.append("'Webňite, UTF-8'").append(",");或者更好的做法是使用现有的CSV库,例如super等
https://stackoverflow.com/questions/54573774
复制相似问题