【发布时间】:2014-11-19 20:12:47
【问题描述】:
我对 java 很陌生,我正在将数据写入文件。我的代码如下所示:
File file= new File("model/file.csv");
FileOutputStream writer=null;
try {
writer = new FileOutputStream(file, true);
} catch (IOException e) {
e.printStackTrace();
}
PrintWriter pw=null;
pw = new PrintWriter(writer);
try {
for (int j=0;j< 24; j++)
pw.format("%.3f%n",MyData);
}
finally {
pw.close();
}
输出:
1
2
3
4
但是当我第二次运行程序时,我的输出文件如下所示:
输出:
1
2
3
4
1
2
3
4
好吧,我猜到了
writer = new FileOutputStream(file, true);
表示它附加,但我希望文件被刷新并且不包含来自先前程序执行的数据。而且冲洗也无济于事。
【问题讨论】:
-
所以提供
true意味着它附加。与此相反的是什么? -
然后它只会将一个值打印到文件中,例如我的输出:1
-
不,不会。你试过了吗? (该参数仅在您第一次打开文件时适用。您只打开一次......)
-
你的预期输出是什么?
标签: java file csv filewriter printwriter