2016-03-01 58 views
0
List<String> list=null; 
ICsvListReader listReader = null; 
listReader = new CsvListReader(new FileReader(new File(folderPath+"/"+fileName)), CsvPreference.TAB_PREFERENCE); 
while((list=listReader.read())!=null) { 
    System.out.println(list.toString()); 
} 

我使用org.supercsv.io.ICsvListReader但代碼符如果在TSV輸入文件'"是存在的。而不是6場我得到第6場如null請告訴我,如果需要或任何改變一些其他圖書館閱讀大量TSV文件是存在的CSVListReader從TSV文件破裂閱讀,如果輸入TSV文件有「或」

數據:

data "city' b state country sdsadsd details value 
+0

你試過看[文檔?](https://super-csv.github.io/super-csv/apidocs/org/supercsv/ prefs/CsvPreference.html)它具有可以解決您的問題的偏好信息 - 但您尚未明確說明輸入是什麼導致了您的問題。也許舉出一些不起作用的數據的例子,並解釋一下如果你想要別人幫忙,你已經嘗試了什麼。 –

+0

我已閱讀文檔和應用CsvPreference.TAB_PREFERENCE,如果您的數據如上所示,我已添加數據超過 – userRaj

+0

,開頭引號'「'後跟一個不匹配的結尾引號'''會導致數據格式錯誤。當使用TAB_PREFERENCE時,需要使用_matching_雙引號('''),例如:''city「state country sdsadsd details value' –

回答

1

解決它使用單義的解析器

 TsvParserSettings settings = new TsvParserSettings(); 

     settings.getFormat().setLineSeparator("\n");   
     TsvParser parser = new TsvParser(settings); 
     parser.beginParsing(getReader("/examples/example.tsv")); 

     String[] row; 
     while ((row = parser.parseNext()) != null) { 
      println(out, Arrays.toString(row)); 
     } 

你可以參考這個鏈接 https://github.com/uniVocity/univocity-parsers/blob/master/src/test/java/com/univocity/parsers/examples/TsvParserExamples.java