我记得应该每次写完内容后都用一下file.flush,这样才是真正的保存。代码如下:FileWriter file = new FileWriter(pathRead + fileName); file.write("file"); file.flush(); file.close();
写文件的话用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();
file.write("file");
file.flush();
file.close();
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();
}
}
public FileWriter(String fileName,
boolean append)
throws IOException在给出文件名的情况下构造 FileWriter 对象,它具有指示是否挂起写入数据的 boolean 值。 参数:
fileName - 一个字符串,表示与系统有关的文件名。
append - 一个 boolean 值,如果为 true,则将数据写入文件末尾处,而不是写入文件开始处。
抛出:
IOException - 如果指定文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它