我正在使用au.com.bytecode.opencsv.CSVReader讀取一個csv文件並逐一打印所有記錄。代碼是表現奇怪。它的印刷線路組在一起作爲一個單一的線,然後再它的正確打印下一組行。爲什麼以及如何在一個字段中發現「在一個字段中多行爲單行」
請從上面的鏈接下載CSV文件。我的代碼正在考慮第一行爲 - 從第一個非標題行到下面內容行的正上方的行:
12/4/13:將AO更改爲首席財務官。「,」07/18/2016「,
此外,我的第一條數據行在其中一個字段中包含\」。你可以使用Cntrl + F來找到它,如果我從字段中刪除\,它可以正常工作。現在我的問題是什麼邏輯CSVReader用於結束上面指定的第一行?爲什麼要結束線只是其中有以下內容的行前:
13年12月4日:改變AO首席財務官「」 2016" 年7月18日,
它採取了新的生產線從'12/4/13 .........'。另外,下面的單獨線條被完美地視爲單獨的線條。
代碼,供大家參考:
csvReader reader = new CSVReader(new FileReader(fileNameWithLocation), ',', '"', 1);
ColumnPositionMappingStrategy<DomainObj> mappingStrategy =
new ColumnPositionMappingStrategy<DomainObj>();
mappingStrategy.setType(DomainObj.class);
String[] nextLine;
while ((nextLine = reader.readNext()) != null)
{
if (nextLine != null)
log.debug("Next line : " + Arrays.toString(nextLine));
}
CSV文件似乎無效。它是如何產生的?並且不要在這裏發佈鏈接。發佈數據的相關部分。 – EJP
我認爲發佈文件的內容會使帖子看起來非常不必要。此外,該文件是有效的。我已驗證它。 –
我沒有要求文件的內容。我添加了數據的相關部分。這只是一行,而不是整個文件。 – EJP