3

我知道如何创建一个PrintWriter并且能够从我的 gui 中获取字符串并将其打印到文本文件中。

我希望能够采用相同的程序并打印到文件中,将文本添加到文件中,而不是替换文本文件中已有的所有内容。我将如何做到这一点,以便在将更多数据添加到文本文件时,每次都将其打印在新行上?

任何示例或资源都会很棒。

4

3 回答 3

7
    try 
    {
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", true)));
    out.println("the text");
    out.close();
     } catch (IOException e) {
    }

构造函数的第二个参数FileWriter将告诉它附加到文件(而不是清除文件)。

BufferedWriter建议对昂贵的编写器(即 a )使用FileWritera ,并且使用 aPrintWriter可以访问您可能习惯于 System.out 的 println 语法。

但是BufferedWriterandPrintWriter包装器并不是绝对必要的。

于 2012-03-29T04:48:35.517 回答
1
PrintWriter writer=new PrintWriter(new FileWriter(new File("filename"),true));
writer.println("abc");

FileWriter 构造函数带有 append 属性,如果为 true,则可以附加到文件。

检查这个

于 2012-03-29T05:21:25.107 回答
0

您的 PrintWriter 包装了另一个编写器,它可能是 FileWriter。当您构造该 FileWriter 时,请使用带有 File 对象和“附加”标志的构造函数。如果您将 true 作为附加标志传递,它将以附加模式打开文件,这意味着新输出将出现在文件现有内容的末尾,而不是替换现有内容。

于 2012-03-29T04:49:21.007 回答