2016-12-26 129 views
0

我有一個CSV文件,其中有3列,文件沒有任何標題列,但它有固定模式(如第一列,它將有網址,第二和第三列將有校驗和) 。要處理單個列值,我正在使用CSVBeanReaderCSVBeanReader讀取二號線值與下面的代碼:使用CsvBeanReader讀取CSV第一行

ICsvBeanReader beanReader = new CsvBeanReader(new FileReader(path), 
        CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE); 

String[] header = beanReader.getHeader(true); 
header = new String[] { "docURL", "shaCheckSum", null }; 

CellProcessor[] processors = new CellProcessor[3]; 

processors = getChecksumProcessors(); 

ValueObj docRecord; 

while ((docRecord = beanReader.read(ValueObj.class, header, processors)) != null) { 
    docRecordList.add(docRecord); 
} 


private static CellProcessor[] getChecksumProcessors() { 
     return new CellProcessor[] { new NotNull(), new NotNull(), null }; 
} 

我應該如何讀取使用CSVBeanReader包含CSV文件的第一行?

CSV文件包含從第一行數據如下圖所示:

ftp://folder_struc/filename.pdf;checksum1;checksum2

請讓我知道。

+0

我想你應該省略String [] header = beanReader.getHeader(true);線。嘗試只是var header = new String [] {...} –

+0

謝謝亞歷克斯...你的解決方案工作:)我試着用getHeader(true)和getHeader(false)沒有成功。從未嘗試刪除它。非常感謝 。 – Khushi

+0

@Alex ..我無法將您的回覆標記爲解決方案.. – Khushi

回答

0

我想你應該省略String[] header = beanReader.getHeader(true);行。嘗試只是var header = new String[] {...}