我想读入 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/