胡未灭,鬓先秋,泪空流。此生谁料,心在天山,身老沧洲。

——陆游《诉衷情》

## IO流之打印流

1. 概述

平时我们在控制台打印输出,是调用 print 方法和 println 方法完成的,这两个方法都来自于java.io.PrintStream 类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。

2. PrintStream

构造方法

public PrintStream(String fileName) : 使用指定的文件名创建一个新的打印流。

构造举例,代码如下:PrintStream ps = new PrintStream("ps.txt");

改变打印流向

System.out 就是PrintStream类型的,只不过它的流向是系统规定的,打印在控制台上。不过,既然是流对象,我们就可以玩一个”小把戏”,改变它的流向。

1
2
3
4
5
6
7
8
9
10
11
12
public class PrintDemo {
public static void main(String[] args) throws IOException {
// 调用系统的打印流,控制台直接输出97
System.out.println(97);
// 创建打印流,指定文件的名称
PrintStream ps = new PrintStream("ps.txt");
// 设置系统的打印流流向,输出到ps.txt
System.setOut(ps);
// 调用系统的打印流,ps.txt中输出97
System.out.println(97);
}
}