【问题标题】:Write File without deleting current data [duplicate]写入文件而不删除当前数据[重复]
【发布时间】:2012-12-18 18:06:52
【问题描述】:

可能重复: java append to file How to append data to a file?

我想用java写一个文件而不清理(删除)旧数据

这是我的尝试,但当前数据将在写入新数据时被清理。

import java.io.*;

public class WriteToFileExample {

public static void main(String[] args) {
    try {
        String content = "New content to write to file";

        File file = new File("/mypath/filename.txt");

        // if file doesnt exists, then create it
        if (!file.exists())
            file.createNewFile();

        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(content);
        bw.close();

    } catch (IOException e) {
        e.printStackTrace();
    }
}
}

【问题讨论】:

标签: java file-io


【解决方案1】:

使用可以指示文件以追加模式打开的构造函数FileWriter(String filename, boolean append)

FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
                                                     //^^^^ means append

【讨论】:

    【解决方案2】:

    试试

    FileWriter fw = new FileWriter(file, true);
    

    注意:第二个参数表示追加;不需要file.getAbsoluteFile(),只要File就可以了

    【讨论】:

      【解决方案3】:

      以追加模式打开文件。 喜欢

      PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", true)));
      

      【讨论】:

      • 如果你能点击右边的标志,这会有点帮助。
      【解决方案4】:

      FileWriter 接受一个布尔参数,指定是否覆盖。

      试试这个:

      FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
      

      也访问:

      http://docs.oracle.com/javase/6/docs/api/java/io/FileWriter.html#FileWriter%28java.io.File,%20boolean%29

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-11
        • 1970-01-01
        • 2018-08-15
        • 2015-07-07
        • 2020-04-03
        • 2013-12-14
        • 2012-10-12
        • 1970-01-01
        相关资源
        最近更新 更多