java中的opencsv忽略字段值中的反斜杠

aha*_*neo 14 java opencsv

我正在使用opencsv读取csv文件.

我无视第一行; csv文件是制表符分隔的,其中一些值用双引号括起来.

当我读取具有'\'字符的列的值时,会发生此问题,这会从值中删除.

reader = new CSVReader(new FileReader(exchFileObj),'\t','"',1);
Run Code Online (Sandbox Code Playgroud)

例如在原始文件中:

address = 12\91buenosaires   
Run Code Online (Sandbox Code Playgroud)

它变成了:

address = 1291buenosiares
Run Code Online (Sandbox Code Playgroud)

csvreader生成的字符串数组中.如何修改它以便能够读取'\'字符?

JMM*_*JMM 22

我有同样的问题,找不到另一个我保证不会出现在我的csv文件中的角色.根据sourceforge上的一篇文章,您可以使用带有'\ 0'的显式构造函数来指示您不需要任何转义字符.

http://sourceforge.net/tracker/?func=detail&aid=2983890&group_id=148905&atid=773542

CSVParser parser = new CSVParser(CSVParser.DEFAULT_SEPARATOR, CSVParser.DEFAULT_QUOTE_CHARACTER, '\0', CSVParser.DEFAULT_STRICT_QUOTES);
Run Code Online (Sandbox Code Playgroud)

我做了一些粗略的测试,这似乎工作得很好,至少反斜杠肯定能通过.


rsp*_*rsp 3

CSVReader 还有一个解析器构建器,您可以通过它设置要使用的转义字符。如果您使用它并将转义字符设置为您不使用的字符,您将在输入中得到反斜杠字符。