网上有101个例子。我谷歌搜索了“java解析csv”,而这是第一篇结果:
http://www.mkyong.com/java/how-to-read-and-parse-csv-file-in-java/
这篇文章使用字符串作为分隔符,但这只是一段代码而非API。
考虑到解析CSV文件是一个相对简单的过程,我认为这并不需要使用库,特别是像你所遇到的奇怪的\t\t
分隔符这种稍微特殊的情况,最好还是直接编写代码。
CSVParser.parseLine()
。 - Dirk Lachowskicommons-csv
模块在几年前的v1.9.0版本中添加了对字符串分隔符的支持。
尝试这个:
ArrayList<String> itemsOne=new ArrayList<String>();
ArrayList<String> itemsTwo=new ArrayList<String>();
InputStream is = getResources().openRawResource(R.raw.csvfile);
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = reader.readLine()) != null ) {
String [] rowData = line.split("\t\t");
itemsOne.add(rowData[0]);
itemsTwo.add(rowData[1]);
}
} catch (Exception e) {}
是的,opencsv
不支持使用 String
作为分隔符。
一个简单的解决方案是使用 '\t'
作为分隔符,并忽略空字段。
例如:
String s = "1\t\t2\t\t3\t\t4";
到
String[7] fields;
fields[0] = "1";
fields[1] = "";
fields[2] = "2";
fields[3] = "";
...