我現在不在我的計算機,所以原諒任何錯誤〜OpenCSV API Javadocs非常簡短,但似乎並沒有多大意義。讀一行應該將內容解析爲一個字符串數組。空行應導致一個空字符串數組,如果你試圖把它打印出來這給像[Ljava.lang.String;@13f17c9e
...
我會假設,下面的示例文件:
1 |
2 |
3 | "The above lines are empty", 12345, "foo"
會產生如以下你做myCSVReader.readAll()
// List<String[]> result = myCSVReader.readAll();
0 : []
1 : []
2 : ["The above lines are empty","12345","foo"]
要執行你在你的問題,測試長度,而不是某種空檢查或字符串比較的描述。
List<String> lines = myCSVReader.readAll();
// lets print the output of the first three lines
for (int i=0, i<3, i++) {
String[] lineTokens = lines.get(i);
System.out.println("line:" + (i+1) + "\tlength:" + lineTokens.length);
// print each of the tokens
for (String token : lineTokens) {
System.out.println("\ttoken: " + token);
}
}
// only process the file if lines two or three aren't empty
if (lineTokens.get(1).length > 0 || lineTokens.get(2).length > 0) {
System.out.println("Process this file!");
processFile(lineTokens);
}
else {
System.out.println("Skipping...!");
}
// EXPECTED OUTPUT:
// line:1 length:0
// line:2 length:0
// line:3 length:3
// token: The above lines are empty
// token: 12345
// token: foo
// Process this file!
這是一個空字符串數組嗎? – KidTempo 2013-04-03 22:39:50
我期待它是一個。但是,它的價值與問題中的價值相似。 – CodingInCircles 2013-04-03 22:41:57
空字符串數組與空不相同 - 它仍然是有效的對象,並且會給出類似於您所描述的結果的結果,例如,您將.toString()應用於它。 .length()的結果是什麼?我猜0 ... – KidTempo 2013-04-03 22:46:55