如何使用PrintWriter多次向文本文件写入内容

3
我知道如何创建一个PrintWriter,并且能够从我的GUI中获取字符串并将其打印到文本文件中。
我希望能够使用相同的程序,并将文本添加到文件中,而不是替换文本文件中已有的所有内容。我该如何做才能使每次添加更多数据到文本文件时,它都会被打印在新行上?
如果有任何示例或资源,那就太棒了。
3个回答

7
    try 
    {
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", true)));
    out.println("the text");
    out.close();
     } catch (IOException e) {
    }
FileWriter构造函数的第二个参数指定为append时会将内容追加到文件中(而不是清空文件)。
推荐使用BufferedWriter来缓冲写入,特别对于费时的写入(如FileWriter)。而使用PrintWriter则可以让你像从System.out输出一样使用println语法。
但是,BufferedWriterPrintWriter包装器并非必需。

1
PrintWriter writer=new PrintWriter(new FileWriter(new File("filename"),true));
writer.println("abc");

FileWriter构造函数带有append属性,如果为true,则可以将内容追加到文件中。

查看此处


0
你的PrintWriter包装了另一个writer,很可能是FileWriter。当你构造这个FileWriter时,使用同时接受文件对象和“追加”标志的构造函数。如果将追加标志设置为true,它将以追加模式打开文件,这意味着新输出将添加到文件现有内容的末尾,而不是替换现有内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接