【问题标题】:How to add a column in .csv file with apache-commons-csv如何使用 apache-commons-csv 在 .csv 文件中添加一列
【发布时间】:2019-11-07 22:14:23
【问题描述】:

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

【问题讨论】:

    标签: java csv apache-commons


    【解决方案1】:

    添加时不要使用索引

    改变

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

    headerRecord.add("Value");
    

    【讨论】:

      猜你喜欢
      • 2018-06-10
      • 2016-10-15
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 2018-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多