當我在使用opencsv讀取csv文件時,在字符串末尾遇到'\'時它不能正常工作。它使「字符串的一部分,而不是'\',因爲我想。我想必須有一些方法來添加另一個'\',讓它轉義'\' - 字符而不是?沒有必須。手動編輯CSV文件我已經搜查,但沒有發現任何如何使用opencsv讀取包含''的字符串?
爲了澄清我的問題,它看起來像這樣:
CSV文件
"A", "B", "C", "D"
"value 1", "value 2", "value 3", "value 4"
"value 5", "value 6\", "value 7", "value 8"
我的代碼看起來是這樣的(不是真的,但它顯示我的問題):
String inFile = "in.csv";
CSVReader reader = new CSVReader(new FileReader(inFile));
String[] line;
while ((line = reader.readNext()) != null) {
for (int i = 0; i < line.length(); i++) {
System.out.println(i + " " + line[i]);
}
}
我希望這可以解析成每行4個元素的String [],但最後一行只解析爲兩個元素,如下面的輸出所示。
1 A
2 B
3 C
4 D
1 value 1
2 value 2
3 value 3
4 value 4
1 value 5
2 value 6",value 7,value 8
我試圖給讀者更改爲:
CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(inFile), "UTF-8"));
,但沒有任何運氣。
謝謝!現在我可以按照預期閱讀該行。但是,我也有文件中的字符** | **。有什麼辦法可以跳過轉義字符嗎? – 2013-02-11 19:55:53
嘗試''\ 0''。我認爲這對CVS無效 – user000001 2013-02-11 19:57:44
太棒了!那樣做了。非常感謝! – 2013-02-11 19:58:51