Cli*_*t L 5 java csv filewriter
这个让我发疯了.我有以下代码读取csv文件并将其重新格式化为复制粘贴准备好的Java数组格式:
CSVReader reader = new CSVReader(new FileReader(fileName), ',' , '"' , 0);
FileWriter writer = new FileWriter(outFile);
//Read CSV line by line and use the string array as you want
//Read all rows at once
List<String[]> allRows = reader.readAll();
//print table header
//Read CSV line by line and use the string array as you want
for(String[] row : allRows){
System.out.println(Arrays.toString(row));
writer.write("{");
for(int lcv = 0;lcv<row.length;lcv++){
if(lcv == row.length -1){
writer.write(row[lcv]);
}else{
writer.write(row[lcv]+",");
}
}
writer.write("},\n");
}
Run Code Online (Sandbox Code Playgroud)
如您所见,代码将文件中的记录打印到控制台,以及复制粘贴的文件.代码工作,没有错误等.但是,创建的文件在记录中途随机停止.我逐步完成代码并且写调用正在工作,而最奇怪的部分是控制台打印所有记录就好了,它应该镜像创建的文件.有没有人可以解释为什么文件没有完成但控制台是?
更多信息.初始文件是76行,大约36KB.我认为问题是内存限制已达到,因为它在第56行停止了76.我重新跑了56-76(现在是1-20)并且在第18行停了下来.这让我难过......
Tod*_*odd 11
你可能需要FileWriter在最后关闭(并且为了好的措施而冲洗).
for(...) {
writer.write(row);
}
writer.flush();
writer.close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1553 次 |
| 最近记录: |