我尝试将列添加到csv
文件中。因此,我得到了记录(这里为recordOut
),并向列表中添加了一个元素。
代码
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);
}
错误
线程“ main”中的异常java.lang.IndexOutOfBoundsException:索引:69,大小:68
不允许在headerRecord
列表中添加列吗?谢谢您的帮助!
答案 0 :(得分:1)
添加时不使用索引
更改
headerRecord.add(recordsOut.get(0).size() + 1, "Value");
到
headerRecord.add("Value");