我有一个CSV文件,它有3列,文件没有任何标题列,但它有固定的模式(如第一列,它将有url,第二和第三列将具有校验和)。要处理单个列值,我使用CSVBeanReader
。
CSVBeanReader
使用以下代码从第二行读取值:
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 :(得分:0)
我想你应该省略String[] header = beanReader.getHeader(true);
行。试试var header = new String[] {...}