我尝试将列添加到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);
}


错误


  线程“主”中的异常java.lang.IndexOutOfBoundsException:索引:69,大小:68


不允许在headerRecord列表中添加一列吗?感谢您的帮助!

最佳答案

添加时不要使用索引

更改

headerRecord.add(recordsOut.get(0).size() + 1, "Value");




headerRecord.add("Value");

07-24 09:19