我正在Windows 7上的NetBeans 7.3.1上使用Java SE进行开发。
我正在尝试在数字上写一个集合,每行一个,写入ASCII文本文件。
FileWriter fstream = new FileWriter(outputFileName, false); //false tells to not append data.
BufferedWriter out = new BufferedWriter(fstream);
for (int i=0; i<numBins; ++i){
String str=Integer.toString(hist[i]);
str.concat("\n");
out.write(str);
}
br.close();
numBins为6,程序运行没有任何错误。我检查调试器和
out.write(str);
被叫6次。 hist [i]是小整数。由于某种原因,生成的文件为空,大小为零。
答案 0 :(得分:1)
关闭您的BufferedWriter对象
FileWriter fstream = new FileWriter(outputFileName, false); //false tells to not append data.
BufferedWriter out = new BufferedWriter(fstream);
for (int i=0; i<numBins; ++i){
String str=Integer.toString(hist[i]);
str.concat("\n");
out.write(str);
}
out.close();
答案 1 :(得分:1)
您需要在BufferedWriter对象上调用close方法将内容刷新到文件:
FileWriter fstream = new FileWriter(outputFileName, false); //false tells to not append data.
BufferedWriter out = new BufferedWriter(fstream);
for (int i=0; i<numBins; ++i){
String str=Integer.toString(hist[i]);
str.concat("\n");
out.write(str);
}
// add this also
out.close();