Java PrintWriter 类
提示
- 文本格式输出:
PrintWriter
类用于将原始数据(如int
、float
、char
)转换成文本格式,并写入写入器。 - 创建方式:可以通过使用
FileWriter
、FileOutputStream
或直接指定文件名来创建PrintWriter
,支持自动刷新。 - 主要方法:提供
print()
、println()
和printf()
方法用于格式化输出文本,以及checkError()
方法来检查写入器中的错误。
java.io
包中的 PrintWriter
类可以用来以通常可读的形式(文本)输出数据。
它继承了抽象类 Writer
。
PrintWriter 的工作原理
与其他写入器不同,PrintWriter
将原始数据(int
、float
、char
等)转换为文本格式。然后,它将这些格式化数据写入写入器。
此外,PrintWriter
类不会抛出任何输入/输出异常。相反,我们需要使用 checkError()
方法来查找其中的任何错误。
注意:PrintWriter
类也具有自动刷新的特性。这意味着如果调用了 println()
或 printf()
方法之一,它会强制写入器将所有数据写入目的地。
创建 PrintWriter
要创建打印写入器,我们首先必须导入 java.io.PrintWriter
包。一旦我们导入了包,以下是我们如何创建打印写入器的方法。
1. 使用其他写入器
// 创建 FileWriter
FileWriter file = new FileWriter("output.txt");
// 创建 PrintWriter
PrintWriter output = new PrintWriter(file, autoFlush);
这里,
- 我们创建了一个打印写入器,它会将数据写入由
FileWriter
表示的文件 autoFlush
是一个可选参数,指定是否执行自动刷新
2. 使用其他输出流
// 创建 FileOutputStream
FileOutputStream file = new FileOutputStream("output.txt");
// 创建 PrintWriter
PrintWriter output = new PrintWriter(file, autoFlush);
这里,
- 我们创建了一个打印写入器,它会将数据写入由
FileOutputStream
表示的文件 autoFlush
是一个可选参数,指定是否执行自动刷新
3. 使用文件名
// 创建 PrintWriter
PrintWriter output = new PrintWriter(String file, boolean autoFlush);
这里,
- 我们创建了一个打印写入器,它会将数据写入指定的文件
autoFlush
是一个可选的布尔参数,指定是否执行自动刷新
注意:在所有上述情况下,PrintWriter
都会使用某种默认字符编码将数据写入文件。然而,我们也可以指定字符编码(UTF8 或 UTF16)。
// 使用某种字符编码创建 PrintWriter
PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
这里,我们使用了 Charset 类来指定字符编码。要了解更多,请访问 Java Charset(官方 Java 文档)。