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

解决方案 »

  1.   

    我记得应该每次写完内容后都用一下file.flush,这样才是真正的保存。代码如下:FileWriter file = new FileWriter(pathRead + fileName);
    file.write("file");
    file.flush();
    file.close();
      

  2.   

    写文件的话用append()方法,可以在文件的后面追加,而write()是重写文件。
      

  3.   

    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();
    }
    }
      

  4.   

    构造流的时候把append置为true就可以了
      

  5.   

    append置为true,这个持续不持续操作没关系,设置为追加形式即可
      

  6.   

    FileWriter类
    public FileWriter(String fileName,
                      boolean append)
               throws IOException在给出文件名的情况下构造 FileWriter 对象,它具有指示是否挂起写入数据的 boolean 值。 参数:
    fileName - 一个字符串,表示与系统有关的文件名。
    append - 一个 boolean 值,如果为 true,则将数据写入文件末尾处,而不是写入文件开始处。 
    抛出: 
    IOException - 如果指定文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它