亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

掌握 Java PrintWriter:功能、方法与实战示例

掌握 Java PrintWriter

PrintWriter 位于 java.io,用于将字符数据写入文本文件或其他输出流。继承 Writer,提供便捷格式化方法。

与其他 writer 不同,PrintWriter 自动将基本类型(int、float、char 等)转为文本再写入。且不抛 IOException,可用 checkError() 检测错误。

自动刷新是关键特性:启用后,每次调用 println() 或 printf() 强制缓冲区刷入底层流。

PrintWriter 工作原理

PrintWriter 向底层 Writer 或 OutputStream 写格式化文本。构造器接受 autoFlush 标志,可选 Charset 指定编码。

创建 PrintWriter

导入类:

import java.io.PrintWriter;

1. 从现有 Writer

FileWriter file = new FileWriter("output.txt");
PrintWriter out = new PrintWriter(file, true); // autoFlush = true

2. 从 OutputStream

FileOutputStream fos = new FileOutputStream("output.txt");
PrintWriter out = new PrintWriter(fos, true);

3. 直接从文件名

PrintWriter out = new PrintWriter("output.txt", true);

4. 指定字符编码

import java.nio.charset.Charset;
PrintWriter out = new PrintWriter("output.txt", true, Charset.forName("UTF-8"));

用 Charset 确保文本按期望编码写入。

核心方法

print() 和 println()

写原始或带行终止符的文本:

printf()

printf 系列支持 Java Formatter 语法。示例:

out.printf("I am %d years old.", 25);

其他实用方法

方法描述
close()关闭流释放资源
checkError()发生写错误返回 true
append(CharSequence)追加给定序列到 writer

实战示例

完整可运行程序,用 printf() 写格式化文本到 output.txt:

import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;
public class PrintWriterDemo {
    public static void main(String[] args) {
        try (PrintWriter out = new PrintWriter(new FileWriter("output.txt"), true)) {
            int age = 25;
            out.printf("I am %d years old.\n", age);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

运行后创建 output.txt,内容:

I am 25 years old.

延伸阅读

官方规范见 Java PrintWriter API 及 Charset 文档。

java

  1. 深入理解 Java final 关键字:变量、方法与类的不可变性
  2. Java instanceof 运算符完全指南:用法、继承与接口检查
  3. 精通 Java 继承:核心概念、类型与实战示例
  4. 深入理解 Java 静态嵌套类:用法、差异与实战示例
  5. 精通 Java 匿名内部类:定义、语法与实战示例
  6. Java 单例模式详解:安全实现与使用指南
  7. 精通 Java 反射:运行时检查类、方法与字段
  8. 精通 Java ArrayList:操作、方法与最佳实践
  9. Java Stack 类全面指南:用法、核心方法与实战示例
  10. 掌握 Java ObjectOutputStream:序列化、核心方法与实战示例
  11. 掌握 Java 泛型:构建可复用、类型安全的代码
  12. 掌握 Java 文件操作:java.io 包下的创建、读取、写入与删除