Java在csv文件中转义存储字符串

Chr*_*ian 11 java csv escaping

如果要将用户创建的字符串存储在csv文件中.是否有一个首选的库用于转义字符串或我应该编写自己的函数?

use*_*026 9

对于寻找代码的任何人:
将此添加到您的pom.xml

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

然后使用:

 String escaped = StringEscapeUtils.escapeCsv("tHIS String 'needs escaping'");
 System.out.println(escaped); //safe for csv
Run Code Online (Sandbox Code Playgroud)

UPD:作为3.6版本,StringEscapeUtilscommons-lang弃用,因此,你必须使用commons-text,而不是:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
    <version>1.6</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)


lim*_*imc 5

我建议您使用帖子推荐的其中一个库.虽然编写自己的CSV创建者/解析器似乎很容易,但是您将遇到需要处理诸如用逗号或引号的用户字符串之类的场景的问题,这有时会非常麻烦.我使用了以下库,它们运行良好: -