PrintStream与PrintWriter是Java IO中处理格式化输出的核心类。关键区别在于底层处理机制:PrintStream基于字节流(OutputStream),处理原始字节,默认使用平台编码,易引发乱码;PrintWriter则基于字符流(Writer),直接操作字符,支持显式字符集指定,更适合国际化场景。PrintStream提供独特的write(int)方法(低效),且自动刷新仅触发于换行符;PrintWriter可灵活配置自动刷新(如println后)。两者均不抛出IO异常(需checkError()检测)。开发建议:控制台输出用PrintStream(如System.out),文本文件处理优先选PrintWriter(尤其需字符集控制时),确保编码安全与性能。
深度解析与示例
1️⃣ 核心定位与差异根源
PrintStream:OutputStream的子类,面向字节。
// 底层关键方法(JDK源码)
public void write(int b) { ... } // 直接写单个字节
PrintWriter:Writer的子类,面向字符。
public void write(int c) { ...

最低0.47元/天 解锁文章
16万+

被折叠的 条评论
为什么被折叠?



