如何使用apache-commons-csv在.csv文件中添加列

我尝试将列添加到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列表中添加列吗?谢谢您的帮助!

jun8888888 回答:如何使用apache-commons-csv在.csv文件中添加列

添加时不使用索引

更改

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

headerRecord.add("Value");
本文链接:https://www.f2er.com/3144171.html

大家都在问