[英]How to add a column in .csv file with apache-commons-csv
I try to add a column to a csv
file.我尝试在
csv
文件中添加一列。 So I get the record (here recordOut
) and I add an element to the list.所以我得到了记录(这里
recordOut
),我在列表中添加了一个元素。
Code代码
public <T> List<T> getListFromIterator(Iterator<T> iterator) {
Iterable<T> iterable = () -> iterator;
return StreamSupport .stream(iterable.spliterator(), false) .collect(Collectors.toList());
}
public void method() {
// ... recordOut definition
List<String> headerRecord = getListFromIterator(recordsOut.get(0).iterator());
headerRecord.add(recordsOut.get(0).size() + 1, "Value");
String filePath = file.getAbsolutePath();
file.delete();
CSVPrinter printer = new CSVPrinter(writer, Constants.CSV_FORMAT);
printer.printRecords(recordsOut);
}
Error错误
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 69, Size: 68
线程“主”java.lang.IndexOutOfBoundsException 中的异常:索引:69,大小:68
It is not allowed to add a column to the headerRecord
list?不允许在
headerRecord
列表中添加列? Thank you for your help!谢谢您的帮助!
Don't use an index when adding添加时不要使用索引
Change改变
headerRecord.add(recordsOut.get(0).size() + 1, "Value");
to至
headerRecord.add("Value");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.