写入java中的文本文件

时间:2011-10-06 09:48:40

标签: java

我有以下写入文件的功能:

public void writeToFile(String data) throws IOException {
    FileWriter fstream = null;


    try {
        fstream = new FileWriter("out.txt");
        BufferedWriter out = new BufferedWriter(fstream);
        out.write(data);
        //Close the output stream
        out.close();
    } catch (IOException ex) {
        Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        try {
            fstream.close();
        } catch (IOException ex) {
            Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

每次调用它时它会创建一个新文件并写一个新行。我想要实现的是检查文件是否存在。如果没有创建新文件并写入内容(如果存在),则打开文件并添加新行而不删除现有文本。怎么做?

3 个答案:

答案 0 :(得分:6)

将FileOutputStream构造函数调用更改为:

fstream = new FileWriter("out.txt", true);

答案 1 :(得分:2)

FileWriter为appends接受一个附加参数,指定是要创建新文件还是附加到现有文件

fstream = new FileWriter("out.txt", true);

http://download.oracle.com/javase/7/docs/api/java/io/FileWriter.html#FileWriter(java.io.File,%20boolean

答案 2 :(得分:0)

由于java的FileWriter类中有一个构造函数可以获取一个bool,如果下一个“条目”被附加到文件中,那么你应该使用

fstream = new FileWriter("out.txt");

fstream = new FileWriter("out.txt", true);

您可以在java文档中查找所有这些构造函数: http://download.oracle.com/javase/7/docs/api/java/io/FileWriter.html