- 能够说出打印流的特点
1. 概述
平时我们在控制台打印输出,是调用print
方法和println
方法完成的,这两个方法都来自于java.io.PrintStream
类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。
特点
-
只负责数据的输出,不负责数据的读取
-
与其他输出流不同,
PrintStream
永远不会抛出IOException
特有的方法:
void print
(任意类型的值)void println
(任意类型的值并换行)
2. 构造方法
-
PrintStream(File file)
:输出的目的地是一个文件 -
PrintStream(OutputStream out)
:输出的目的地是一个字节输出流 -
PrintStream(String fileName)
:使用指定的文件名创建一个新的打印流
构造举例,代码如下:
PrintStream ps = new PrintStream("ps.txt");
演示代码:
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class Demo01PrintStream {
public static void main(String[] args) throws FileNotFoundException {
System.out.println("HelloWorld");
// public static final PrintStream out = null; out就是一个打印流
//创建打印流PrintStream对象,构造方法中绑定要输出的目的地
PrintStream ps = new PrintStream("E:\\print.txt");
ps.write(97);
ps.println(97);
ps.println(8.8);
ps.println('a');
ps.println("HelloWorld");
ps.println(true);
//释放资源
ps.close();
}
}
结果:
控制台输出:
HelloWorld
print文件内容:
a97
8.8
a
HelloWorld
true
注意
- 如果使用继承自父类的write方法写数据,那么查看数据的时候会查询编码表 97->a
- 如果使用自己特有的方法
print/println
方法写数据,写的数据原样输出 97->97
3. 改变打印流向
System.out
就是PrintStream
类型的,只不过它的流向是系统规定的,打印在控制台上。不过,既然是流对象,我们就可以玩一个"小把戏",改变它的流向。
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);
}
}