PrintStream是Java中用于格式化字节输出的类,常用于控制台或文件输出,继承自FilterOutputStream并实现Appendable和Closeable接口;1. 可通过多种构造方法创建实例,如关联输出流、启用自动刷新或指定编码;2. 示例中将“Hello, PrintStream!”写入output.txt文件,支持自动创建或覆盖文件;3. 启用自动刷新后,println()会自动刷新缓冲区,适用于实时日志记录;4. 指定UTF-8等编码可避免中文乱码问题;使用时需注意关闭资源,推荐使用try-with-resources语句自动管理。

在Java中,PrintStream 是一个用于格式化输出的字节输出流,常用于向控制台或文件输出数据。它继承自 FilterOutputStream,并实现了 Appendable 和 Closeable 接口。最典型的例子就是 System.out,它就是一个 PrintStream 对象。
1. 使用构造方法创建 PrintStream 对象
可以通过以下几种常用的构造方法来创建 PrintStream 实例:
-
PrintStream(OutputStream out):将 PrintStream 连接到指定的输出流(如 FileOutputStream) -
PrintStream(OutputStream out, boolean autoFlush):支持自动刷新模式 -
PrintStream(OutputStream out, boolean autoFlush, String encoding):指定字符编码(如 "UTF-8") -
PrintStream(File file):直接输出到文件 -
PrintStream(String fileName):通过文件名创建输出流
2. 创建 PrintStream 输出到文件
示例:将内容输出到本地文件
PrintStream ps = new PrintStream("output.txt");
ps.println("Hello, PrintStream!");
ps.close();
这段代码会创建一个名为 output.txt 的文件,并写入文本。如果文件不存在会自动创建;如果已存在,默认会被覆盖。
立即学习“Java免费学习笔记(深入)”;
JSPGOU一直以来都和jeecms、jeebbs一样,是收费软件,但是从2014年7月12日开始,开始jspgou发布第一个免费版,金磊科技承诺:永远不向使用jspgou免费版用户索取任何费用,为免费用户提供更好的技术支持服务,根据用户提出的完善建议快速完善jspgou系统。 jspgou系统使命:做中国最优秀的免费网店系统,让更多的用户了解和使用java产品。 jspgou免费版适用对象:不限
3. 启用自动刷新功能
当使用基于其他输出流的构造方法时,可以开启自动刷新,这样每次调用 println() 方法后会自动刷新缓冲区:
FileOutputStream fos = new FileOutputStream("log.txt");
PrintStream ps = new PrintStream(fos, true); // 第二个参数为 true 表示自动刷新
ps.println("这行会自动刷新到文件中");
ps.close();
4. 指定字符编码
如果需要输出中文或特殊字符,建议指定编码格式,避免乱码:
PrintStream ps = new PrintStream("data.txt", "UTF-8");
ps.println("你好,世界!");
ps.close();
注意:使用完 PrintStream 应该调用 close() 方法释放资源。也可以使用 try-with-resources 语句自动管理:
try (PrintStream ps = new PrintStream("info.txt", "UTF-8")) {
ps.println("使用 try-with-resources 自动关闭");
} catch (Exception e) {
e.printStackTrace();
}
基本上就这些。PrintStream 虽然主要用于字节输出,但提供了方便的打印方法(如 print、println、printf),适合简单日志记录或格式化输出场景。不复杂但容易忽略编码和资源释放问题。










