2016-12-26 97 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[] {...}