8

我正在尝试输入 csv 文件。
我的输入如下所示
String string="hi,this is user";
但是当我输入 csv 文件时,逗号被视为分隔符,它被写入两个单元格。一个单元格中的“hi”和另一个单元格中的“this is user”。
但我希望整个字符串都在一个单元格中。
我怎样才能做到这一点。
请帮我。

FileWriter writer = new FileWriter("D:/Workspace/Sample2.csv");
PrintWriter out = new PrintWriter(writer);

String names="[hasds,jash.jahd,jash]";
    out.append(names);
    out.flush();
}
4

2 回答 2

31

由于您正在编写一个csv带有comma分隔符的文件,并且您的文本也恰好包含comma在其中,因此您需要将文本包含在双引号中。

String names = "\"hi,this is user\"";

请注意,要将文本包含在双引号中,您还需要转义双引号!

更新:-一个示例代码片段,用于将您的字符串包含在双引号中。

public static void main(String[] args) {

    String test = "abcd";
    System.out.println(test); // prints abcd
    test = appendDQ(test);
    System.out.println(test); // prints "abcd"

}

private static String appendDQ(String str) {
    return "\"" + str + "\"";
}
于 2013-04-19T11:11:50.367 回答
0

您必须确保正确转义数据。逗号和双引号需要特殊处理。我强烈建议使用库来处理为您正确转义 csv 数据的所有细节。看看opencsv

于 2013-04-19T11:32:56.947 回答