使用CsvBeanReader读取CSV第一行

时间:2016-12-26 06:33:32

标签: csv

我有一个CSV文件,它有3列,文件没有任何标题列,但它有固定的模式(如第一列,它将有url,第二和第三列将具有校验和)。要处理单个列值,我使用CSVBeanReaderCSVBeanReader使用以下代码从第二行读取值:

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

请告诉我。

1 个答案:

答案 0 :(得分:0)

我想你应该省略String[] header = beanReader.getHeader(true);行。试试var header = new String[] {...}