java - 从 hashmap Java 添加元素到 CSV

标签 java csv

我想读入 CSV 并向该行添加一个元素,然后将其写回。到目前为止我有这个:

private static void appendToCsv(HashMap<String, String> hashMap) throws IOException {
    CSVReader reader = new CSVReader(new FileReader(""));
    CSVWriter writer = new CSVWriter(new FileWriter(""), ',');
    String[] entries = null;
    while ((entries = reader.readNext()) != null) {
         ArrayList list = new ArrayList(Arrays.asList(entries));
         list.add(hashMap.get(list.get(7))); // Add the new element here
         System.out.println(list);
         writer.writeAll(list);
    }
    writer.close();
    reader.close();
}

我可以读它,但不能写它。我收到错误:

java.lang.String cannot be cast to [Ljava.lang.String;

你知道我做错了什么吗?我打印列表,这就是我想要的我也尝试过 writer.writeNext();

最佳答案

您遇到的问题是写入需要一个

List<String[]> allLines

您使用了原始类型

ArrayList list = new ArrayList(Arrays.asList(entries));

你可以将其更改为

List<String []> list = new ArrayList(Arrays.asList(entries));

这应该适合你。

关于java - 从 hashmap Java 添加元素到 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33700427/

相关文章:

java - Prim 算法,使用优先级队列

java - 使用java仅从Excel跳过公式读取数据

python - 从 csv 文件 : Error IO operation on closed file 中获取数据

r - 如何根据空白行从 df 分区为多个 .csv?

php - 用于将 csv 文件插入 mysql 数据库的 Drupal 模块

java - Idea + Play Framework - 无法解析方法/符号

java - 为什么Socket Server关闭后,TCP接收方还能接收到数据?

python - 如何在python中比较两个列表列表,然后将数据写入excel

python - 在 AWS Sagemaker 中使用 python pandas 从 S3 存储桶中读取大型 csv

java makefile "make: Nothing to be done for ' 默认'"