掌握 Java PrintStream 类:print、println 与 printf 详解
掌握 Java PrintStream 类
PrintStream 位于 java.io,继承 OutputStream,专为输出人类可读文本而非原始字节设计。
PrintStream 工作原理
与其他流不同,PrintStream 在写入前将基本类型(int、char 等)转为格式化文本。且不抛 IOException,错误通过 checkError() 报告。
自动刷新是关键特性:以下情况自动刷新:
- 打印换行符(
\n) - 调用
println() - 写入字节数组
创建 PrintStream
导入类:
import java.io.PrintStream;
1. 从现有 OutputStream
// 例:包装 FileOutputStream
FileOutputStream fos = new FileOutputStream("log.txt");
PrintStream ps = new PrintStream(fos, true); // true = autoFlush
向 log.txt 写格式化文本,可选自动刷新。
2. 直接从文件名
PrintStream ps = new PrintStream("log.txt", true);
构造器接受布尔值控制自动刷新。默认使用平台字符编码。
3. 指定字符集
PrintStream ps = new PrintStream("log.txt", true, StandardCharsets.UTF_8);
用 Charset 选择 UTF-8、UTF-16 等编码。详见 Java Charset API。
PrintStream 核心方法
print() 和 println()
print(Object obj)– 输出对象字符串表示println(Object obj)– 追加平台相关行终止符
示例:使用 System.out
public class Main {
public static void main(String[] args) {
System.out.print("Hello World.");
}
}
System.out 是预配置 PrintStream,直接可用 print()。
示例:写入文件
import java.io.PrintStream;
public class Main {
public static void main(String[] args) {
try {
PrintStream ps = new PrintStream("output.txt");
ps.print("This is a text inside the file.");
ps.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
生成的 output.txt 内容:
This is a text inside the file.
printf()
使用格式说明符打印格式化文本:
System.out.printf("I am %d years old", 25);
%d 替换为整数 25。
示例:文件中使用 printf()
import java.io.PrintStream;
public class Main {
public static void main(String[] args) {
try {
PrintStream ps = new PrintStream("output.txt");
int age = 25;
ps.printf("I am %d years old.", age);
ps.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
执行后 output.txt 内容:
I am 25 years old.
PrintStream 其他方法
| 方法 | 描述 |
|---|---|
close() | 关闭流释放资源 |
checkError() | 流遇到错误返回 true |
append() | 向流追加指定字符序列 |
详细参考官方 Java PrintStream 文档。
java
- 深入理解 Java final 关键字:变量、方法与类的不可变性
- Java instanceof 运算符完全指南:用法、继承与接口检查
- 精通 Java 继承:核心概念、类型与实战示例
- 深入理解 Java 静态嵌套类:用法、差异与实战示例
- 精通 Java 匿名内部类:定义、语法与实战示例
- Java 单例模式详解:安全实现与使用指南
- 精通 Java 反射:运行时检查类、方法与字段
- 精通 Java ArrayList:操作、方法与最佳实践
- Java Stack 类全面指南:用法、核心方法与实战示例
- 掌握 Java ObjectOutputStream:序列化、核心方法与实战示例
- 掌握 Java 泛型:构建可复用、类型安全的代码
- 掌握 Java 文件操作:java.io 包下的创建、读取、写入与删除