我知道如何创建一个PrintWriter
并且能够从我的 gui 中获取字符串并将其打印到文本文件中。
我希望能够采用相同的程序并打印到文件中,将文本添加到文件中,而不是替换文本文件中已有的所有内容。我将如何做到这一点,以便在将更多数据添加到文本文件时,每次都将其打印在新行上?
任何示例或资源都会很棒。
我知道如何创建一个PrintWriter
并且能够从我的 gui 中获取字符串并将其打印到文本文件中。
我希望能够采用相同的程序并打印到文件中,将文本添加到文件中,而不是替换文本文件中已有的所有内容。我将如何做到这一点,以便在将更多数据添加到文本文件时,每次都将其打印在新行上?
任何示例或资源都会很棒。
try
{
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", true)));
out.println("the text");
out.close();
} catch (IOException e) {
}
构造函数的第二个参数FileWriter
将告诉它附加到文件(而不是清除文件)。
BufferedWriter
建议对昂贵的编写器(即 a )使用FileWriter
a ,并且使用 aPrintWriter
可以访问您可能习惯于 System.out 的 println 语法。
但是BufferedWriter
andPrintWriter
包装器并不是绝对必要的。
PrintWriter writer=new PrintWriter(new FileWriter(new File("filename"),true));
writer.println("abc");
FileWriter 构造函数带有 append 属性,如果为 true,则可以附加到文件。
您的 PrintWriter 包装了另一个编写器,它可能是 FileWriter。当您构造该 FileWriter 时,请使用带有 File 对象和“附加”标志的构造函数。如果您将 true 作为附加标志传递,它将以附加模式打开文件,这意味着新输出将出现在文件现有内容的末尾,而不是替换现有内容。