public static void print(String id) {
try{
FileWriter fstream = new FileWriter("out.txt");
BufferedWriter out = new BufferedWriter(fstream);
out.write(id +"\n");
out.close();
}catch (Exception e){
}
}
我在运行时调用了这个方法几十万次,但它一直覆盖第一行。我怎样才能让它从最底层开始? (我照顾下一行正在使用转义序列定义。)如何让BufferedWriter在文本文件的最底部定义的行上写入?
或者是否有更优雅的解决方案?打开和关闭一个文本文件几十万次来存储我的模拟结果并不是非常有效。但是如果我在所有执行结束时关闭了main.close,我就会与很多人说,与I/O有关的所有事情都应该放在try/catch块中(另外,我会必须处理永不执行的功能和不被定义的功能等)。
关于你提到的第二点:老实说,我只是用Google搜索一个代码块的文件出来,不知道是什么替代的BufferedWriter有什么他们之间的折衷方案。 –
@WuschelbeutelKartoffelhuhn:只要直接使用'OutputStreamWriter',除非你需要缓冲。查看“BufferedWriter”的文档,看看它的目的是什么。 –
好的,谢谢,我会用write()命中OutputStreamWriter对象, –