【发布时间】:2017-05-07 20:56:22
【问题描述】:
我想将我的数据保存到 CSV 文件中。我正在使用 Scanner 读取 -> CSVWriter 来保存。
我收到错误:不兼容的类型:List[String] 无法转换为 String[]。
方法:
private static void insertToFile(String source, String target)
{
List<String> data = new ArrayList<String>();
try{
Scanner sc = new Scanner(new File(source));
while (sc.hasNextLine()) {
data.add(sc.nextLine());
}
sc.close();
}
catch(Exception e){
e.printStackTrace();
}
File resfile = new File(target);
try{
CSVWriter writer = new CSVWriter(new FileWriter(resfile, true));
//BufferedWriter bufferedWriter = new BufferedWriter(writer);
for (String j : data) {
//writer.writeAll(data);//error here
}
writer.close();
}
catch(Exception e){
e.printStackTrace();
}
}
【问题讨论】:
-
好吧,如果
writeAll()需要传递一个数组,你就不能直接传递一个列表。尝试先转换它,例如writer.writeAll(data.toArray( new String[] ). -
在这种情况下你不需要 for 循环,只需写
writer.writeAll(data.toArray(new String[]))
标签: java csv java.util.scanner filewriter csv-write-stream