日期:2014-05-20  浏览次数:20685 次

怎样持续的写一个文件?
我要运行一个程序,读字符串然后记录再一个txt文件里,后来发现每次运行后,文件里面都更新了,只记录了当前的字符串,以前的都删除了,怎样保留以前的记录,新的记录和以前的再一个文件里?请帮助...

------解决方案--------------------
我记得应该每次写完内容后都用一下file.flush,这样才是真正的保存。代码如下:

FileWriter file = new FileWriter(pathRead + fileName);
file.write( "file ");
file.flush();
file.close();
------解决方案--------------------
自己去查api
------解决方案--------------------
写文件的话用append()方法,可以在文件的后面追加,而write()是重写文件。
------解决方案--------------------
public void logSpecial(String str,String filename){
try {
final String dir = "analyse ";
File fil2 = new File(dir);
if(!fil2.exists())fil2.mkdir();
File fil = new File(dir+ "/ "+filename);
if(!fil.exists())fil.createNewFile();

BufferedWriter bw = new BufferedWriter(new FileWriter(fil,true));
bw.write(str+ "\r\n ");
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
------解决方案--------------------
构造流的时候把append置为true就可以了
------解决方案--------------------
append置为true,这个持续不持续操作没关系,设置为追加形式即可
------解决方案--------------------
FileWriter类
public FileWriter(String fileName,
boolean append)
throws IOException在给出文件名的情况下构造 FileWriter 对象,它具有指示是否挂起写入数据的 boolean 值。

参数:
fileName - 一个字符串,表示与系统有关的文件名。
append - 一个 boolean 值,如果为 true,则将数据写入文件末尾处,而不是写入文件开始处。
抛出:
IOException - 如果指定文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它