OpenCSV在解析时抛出捕获CSV标题的错误。

huangapple 未分类评论52阅读模式
英文:

OpenCSV throws Error capturing CSV header on parse

问题

我正在尝试从前端上传的多部分文件中读取CSV文件。上传的CSV文件从未为空。

这是我的读取器。

Reader reader = new BufferedReader(new InputStreamReader(request.getFile().getInputStream()));
CSVReader csvReader = new CSVReader(reader);

当我使用"csvReader"进行"readAll"操作时,我能够获得值,所以我想文件或读取器没有问题。

ColumnPositionMappingStrategy<MappingModel> ms
    = new ColumnPositionMappingStrategy<MappingModel>();
CsvToBean<MappingModel> csvToBean
    = new CsvToBeanBuilder<MappingModel>(reader)
    .withType(MappingModel.class).withSeparator(',')
    .withMappingStrategy(ms).withIgnoreLeadingWhiteSpace(true)
    .withFieldAsNull(CSVReaderNullFieldIndicator.EMPTY_SEPARATORS)
    .withSkipLines(9).build();
List<MappingModel> mappings = csvToBean.parse(); //抛出异常

但是,当我使用此配置进行解析时,出现java.lang.RuntimeException: Error capturing CSV header!异常。

英文:

I am trying to read a csv file uploaded from front-end as multipart file. Csv file uploaded is never blank.

Reader reader = new BufferedReader(new InputStreamReader(request.getFile().getInputStream()));
CSVReader csvReader = new CSVReader(reader);

These are my readers. When I do a readAll with "csvReader", I am able to get the values, so I guess no issues with file or reader.

ColumnPositionMappingStrategy&lt;MappingModel&gt; ms 
	= new ColumnPositionMappingStrategy&lt;MappingModel&gt;();
CsvToBean&lt;MappingModel&gt; csvToBean 
				= new CsvToBeanBuilder&lt;MappingModel&gt;(reader)
                .withType(MappingModel.class).withSeparator(&#39;,&#39;)
                .withMappingStrategy(ms).withIgnoreLeadingWhiteSpace(true)
                .withFieldAsNull(CSVReaderNullFieldIndicator.EMPTY_SEPARATORS)
                .withSkipLines(9).build();
List&lt;MappingModel&gt; mappings= csvToBean.parse(); //throwing exception

But when I do a parse with this config am getting java.lang.RuntimeException: Error capturing CSV header!

答案1

得分: 0

我升级到版本5.1.1并移除了映射策略。请参考此答案。
https://stackoverflow.com/a/48227474/1238944

英文:

Adding to solution here for easy reference to others

I upgraded to version 5.1.1 and removed mapping strategy. Refer to this answer.
https://stackoverflow.com/a/48227474/1238944

huangapple
  • 本文由 发表于 2020年7月23日 10:12:56
  • 转载请务必保留本文链接:https://java.coder-hub.com/63045815.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定