【发布时间】:2019-03-15 14:45:10
【问题描述】:
我使用jackson-dataformat-csv 库。我想解析CSV 文件。我有这个代码:
CsvMapper csvMapper = new CsvMapper();
CsvSchema csvSchema = csvMapper.typedSchemaFor(Map.class).withHeader();
List<Map<String, String>> csvRows;
try {
MappingIterator<Map<String, String>> it = csvMapper.readerFor(Map.class)
.with(csvSchema.withColumnSeparator(';'))
.readValues(file.getInputStream());
csvRows = it.readAll();
} catch (Exception ex) {
log.error("Unable to read csv document: ", ex);
}
我想从此文件中获取列名。但我不明白如何制作它。我试试:
csvSchema._columns
但是,它是空对象。我也是这样做的:
csvSchema.column(0)
我得到错误:
Method threw 'java.lang.ArrayIndexOutOfBoundsException' exception.
很明显,columns 对象是空的。为什么?如何从CSV 获取列名数组?
【问题讨论】: