我正在使用common-csv库的最新版本,例如在我的 pom.xml 中,我具有以下依赖性:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.7</version>
</dependency>
此库用于在Java应用程序中编写简单的CSV文件。在特定的使用情况下,可以复制csv文件的列名标题。 我发现CSVFormat类的一个有趣的属性在这种情况下必须有用,但是在下面描述的每个解决方案中,程序都会终止,并显示以下错误:
Exception in thread "main" java.lang.IllegalArgumentException:
The header contains a duplicate entry: 'VV' in [CC, VV, VV]
at org.apache.commons.csv.CSVFormat.validate(CSVFormat.java:1676)
at org.apache.commons.csv.CSVFormat.<init>(CSVFormat.java:793)
at org.apache.commons.csv.CSVFormat.withHeader(CSVFormat.java:1986)
编写的代码是:
public static void main(String[] args){
CSVFormat formatCsv = CSVFormat.DEFAULT.withAllowDuplicateHeaderNames()
.withHeader("CC","VV","VV");
System.out.println(formatCsv);
}
我已经尝试了4种情况:
CSVFormat formatCsv = CSVFormat.DEFAULT.withAllowDuplicateHeaderNames()
.withHeader(headers);
CSVFormat formatCsv = CSVFormat.DEFAULT.withAllowDuplicateHeaderNames(true)
.withHeader(headers);
CSVFormat formatCsv = CSVFormat.DEFAULT.withHeader(headers)
.withAllowDuplicateHeaderNames();
CSVFormat formatCsv = CSVFormat.DEFAULT.withHeader(headers)
.withAllowDuplicateHeaderNames(true);
withAllowDuplicateHeaderNames
属性是否存在错误?重写库的代码源以更改CSVFormat.class的验证方法非常困难