Java PrintWriter 类

25 Oct 2024 | 4 分钟阅读

Java PrintWriter 类实现了 Writer 类。它用于将对象的格式化表示形式打印到文本输出流。

它提供了方便的方法,用于将各种数据类型(如整数、双精度数和字符串)写入文件或任何其他输出目标。PrintWriter 通常与 FileWriter 或 BufferedWriter 等其他 I/O 类结合使用,以高效地将数据写入文件。使用 PrintWriter 的一个优点是它能够自动处理换行符和原始数据类型到文本表示的转换。此外,它还提供使用 printf 风格格式化输出的方法。总而言之,PrintWriter 简化了 Java 应用程序中向输出流写入格式化文本数据的过程。

类声明

让我们看一下 Java.io.PrintWriter 类的声明

在创建 PrintWriter 以写入文件时,您可以指定要使用的字符编码。这在处理国际字符或需要确保与特定系统兼容时尤为重要。例如,您可以按如下方式指定编码:

异常处理

使用 PrintWriter 时,务必处理文件 I/O 操作期间可能发生的潜在异常。处理文件时可能会抛出 FileNotFoundException 和 IOException 等异常。妥善的异常处理可确保在出错时您的程序能够正常运行。

PrintWriter 类的常用方法

方法描述
void println(boolean x)用于打印布尔值。
void println(char[] x)用于打印字符数组
void println(int x)用于打印整数。
PrintWriter append(char c)用于将指定的字符追加到写入器。
PrintWriter append(CharSequence ch)用于将指定的字符序列追加到写入器。
PrintWriter append(CharSequence ch, int start, int end)用于将指定的字符子序列追加到写入器。
boolean checkError()用于刷新流并检查其错误状态。
protected void setError()用于指示发生错误。
protected void clearError()用于清除流的错误状态。
PrintWriter format(String format, Object... args)用于使用指定的参数和格式字符串将格式化的字符串写入写入器。
void print(Object obj)用于打印对象。
void flush()用于刷新流。
void close()用于关闭流。
void println(double x)打印双精度值。
void println(float x)打印浮点数值。
void println(long x)打印长整型值。
void println(String x)打印字符串。
void write(char[] buf)写入字符数组。
void write(char[] buf, int off, int len)写入字符数组的一部分。
void write(int c)写入单个字符。
void write(String s)写入字符串。
void write(String s, int off, int len)写入字符串的一部分。
PrintWriter format(Locale l, String format, Object... args)使用指定的区域设置、格式字符串和参数将格式化的字符串写入写入器。
PrintWriter printf(String format, Object... args)使用指定的格式字符串和参数将格式化的字符串写入写入器。

Java PrintWriter 示例

让我们通过一个简单的示例,使用 Java PrintWriter 类将数据写入**控制台**和**文本文件 testout.txt**。

文件名:PrintWriterExample.java

输出

Javatpoint provides tutorials of all technology.

Testout.txt

Like Java, Spring, Hibernate, Android, PHP etc.

说明

此代码使用 Java PrintWriter 类将数据写入文件和控制台。通过首先构造一个名为 writer 的 PrintWriter 对象(该对象连接到标准输出流),可以向控制台打印文本。

为了保证快速输出,println 方法将给定字符串打印到控制台,然后刷新它。使用 shut 函数释放 PrintWriter 使用的任何系统资源。然后,将名为“testout.txt”的新 File 对象附加到另一个 PrintWriter writer1,以便数据可以写入当前目录下的该文件。println、flush 和 close 方法用于将字符串写入文件,确保数据立即写入,并根据控制台输出释放资源。

结论

总而言之,Java 中的 PrintWriter 类提供了一种方便的方法,用于将预备的文本数据写入输出流,包括文件或控制台。它与 FileWriter 和 BufferedWriter 等其他 I/O 类的集成提高了数据处理效率。

该类可适应一系列应用程序需求,因为它提供了多种用于格式化输出和打印不同数据类型的方法。此外,PrintWriter 集成的异常机制简化了错误处理,并确保在文件 I/O 操作期间可能发生的任何错误都能得到妥善处理。总而言之,该类通过提供强大的错误处理功能、灵活性和易用性,简化了 Java 程序中写入文本数据的过程。