当分隔符是数据的一部分时,在java中解析CSV文件

时间:2014-01-23 14:17:04

标签: java csv guava opencsv

我正在编写CSV部件。使用java

很容易编写
String s = null
while( (s= bufferedReadr.readLine() !=null){
  String parts[] = s.split(',');
  //process parts
}

The problem is data is in format
"a", "b","c","d","e","f".

But some of the data is
"a" ,",b" ,"c",",a","e","f" .

修改

问题是我从其他代码中得到一行CSV输入,我无法改变。

所以我得到的每行都是CSV格式的。我想拆分它。我不能使用csvlibs解析整个文件并要求文件句柄。

存在一些引用问题的数据部分引用。

我如何解决这个问题?我可以使用任何开放的src库吗?

2 个答案:

答案 0 :(得分:2)

不要自己拆分数据。使用一个可以很好地完成这项工作的库。例如,请查看opencsv

答案 1 :(得分:1)

正如其他评论所说,使用OpenCSV。 有这个构造函数的CSVReadr类     

public CSVReader(Reader reader, char separator, char quotechar)
readAll(), readNext(), ....这样的方法 关于Reader,有许多不同的选项:.., InputStreamReader, StringReader