如何解决如何从 openCsv 日期字段中修剪前导空格?
我正在尝试使用 OpenCSV 库解析 csv 文件,有一个日期字段可能在开头有前导空格。我不喜欢使用带有前导空格的特定格式化程序,因为它会阻止没有前导空格的数据输入。有什么解决办法吗?
这是映射对象:
public class DataObject {
public static final String DATE_FORMAT = "dd/MM/yyyy HH:mm:ss";
@CsvBindByName
private String id;
@CsvDate(value = DATE_FORMAT)
@CsvBindByName
private LocalDateTime date;
}
这是创作:
List<DataObject> trxList = new CsvToBeanBuilder(reader)
.withType(DataObject.class)
.withIgnoreLeadingWhiteSpace(true)
.build()
.parse();
和简化的 csv 文件:
ID,Date
TEST,12/05/1980 08:30:00
引起:java.time.format.DateTimeParseException:无法在索引 0 处解析文本“20/08/2020 12:45:33” 在 java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949) 在 java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851) 在 com.opencsv.bean.ConverterDate.lambda$determineReadTemporalConversionFunction$2(ConverterDate.java:198) 在 com.opencsv.bean.ConverterDate.convertToRead(ConverterDate.java:306) ... 9 更多 java.lang.RuntimeException: com.opencsv.exceptions.CsvDataTypeMismatchException 在 com.opencsv.bean.util.OpencsvUtils.handleException(OpencsvUtils.java:125) 在 com.opencsv.bean.concurrent.ProcessCsvLine.run(ProcessCsvLine.java:108) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。