在Java中编写CSV时,无法始终转义逗号

在Java中编写CSV时,无法始终转义逗号,java,csv,file-io,Java,Csv,File Io,我正在尝试用Java创建一个CSV文件,其中包含通过/失败查询的结果,包括是否发生任何SQL异常。我遇到的问题是,我希望失败的查询打印出两行:1)原始查询2)错误消息及其关联查询 makeCSV("\"" + queries[x] + "\"\n\"" + result + "\"", (x+1)); makeCSV方法打印单个字符串: "\"" + queries[x] + "\"\n\"" + result + "\"" 其中查询[x]是当前正在处理的查询,结果是从my DB返回的消息或

我正在尝试用Java创建一个CSV文件,其中包含通过/失败查询的结果,包括是否发生任何SQL异常。我遇到的问题是,我希望失败的查询打印出两行:1)原始查询2)错误消息及其关联查询

makeCSV("\"" + queries[x] + "\"\n\"" + result + "\"", (x+1));
makeCSV方法打印单个字符串:

"\"" + queries[x] + "\"\n\"" + result + "\""
其中查询[x]是当前正在处理的查询,结果是从my DB返回的消息或解析结果集


我遇到的问题是,作为查询的CSV文件的第一行打印得很好(逗号转义)。然而,第二行忽略我的转义,并将“result”分为两列。知道为什么吗?

查询[x]
必须已经包含带逗号转义的查询。这两个变量在您发布的代码中的使用方式没有区别,因此您不能通过将逗号包含在由“”包围的字符串中来对其进行转义?不,用引号包围它只是:用引号包围它。如果要转义空格,必须显式地(例如String.replaceAll(“,”,“\\\\\,”)将所有逗号替换为
\,
s)
查询[x]
必须已经包含转义逗号的查询。这两个变量在您发布的代码中的使用方式没有区别,因此您不能通过将逗号包含在由“”包围的字符串中来对其进行转义?不,用引号包围它只是:用引号包围它。如果要转义空格,必须显式地(例如String.replaceAll(“,”,“\\\\,”)将所有逗号替换为
\,
s)