打印流
1、概述
是调用 print 方法和 println 方法完成的,这两个方法都来自于 java.io.PrintStream 类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。
2、PrintStream 类
java.io.PrintStream:打印流。
PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。
PrintStream 特点:
① 只负责数据的输出,不负责数据的读取
② 与其他输出流不同,PrintStream 永远不会抛出 IOException
③ 有特有的方法,print,println;void print(任意类型的值);void println(任意类型的值并换行)
3、构造方法
PrintStream(File file):输出的目的地是一个文件
PrintStream(OutputStream out):输出的目的地是一个字节输出流
PrintStream(String fileName) :输出的目的地是一个文件路径
4、继承父类的成员方法
PrintStream extends OutputStream
继承父类的成员方法:
public void close() :关闭此输出流并释放与此流相关联的任何系统资源。
public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。
public void write(byte[] b):将 b.length字节从指定的字节数组写入此输出流。
public void write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流。
public abstract void write(int b) :将指定的字节输出流。
注意:
① 如果使用继承自父类的write方法写数据,那么查看数据的时候会查询编码表 97->a
② 如果使用自己特有的方法print/println方法写数据,写的数据原样输出 97->97
5、Demo
1 public static void main(String[] args) throws FileNotFoundException {
2 System.out.println("HelloWorld"); // 在控制台打印输出
3
4 //创建打印流PrintStream对象,构造方法中绑定要输出的目的地
5 PrintStream ps = new PrintStream("E:\\print.txt");
6 //如果使用继承自父类的write方法写数据,那么查看数据的时候会查询编码表 97->a
7 ps.write(97);
8 //如果使用自己特有的方法print/println方法写数据,写的数据原样输出 97->97
9 ps.println(97);
10 ps.println(8.8);
11 ps.println('a');
12 ps.println("HelloWorld");
13 ps.println(true);
14
15 //释放资源
16 ps.close();
17 }
6、改变输出目的地
1 /*
2 可以改变输出语句的目的地(打印流的流向)
3 输出语句,默认在控制台输出
4 使用System.setOut方法改变输出语句的目的地改为参数中传递的打印流的目的地
5 static void setOut(PrintStream out)
6 重新分配“标准”输出流。
7 */
8 public class DemoPrintStream {
9 public static void main(String[] args) throws FileNotFoundException {
10 System.out.println("我是在控制台输出");
11
12 PrintStream ps = new PrintStream("E:\\目的地是打印流.txt");
13 System.setOut(ps);//把输出语句的目的地改变为打印流的目的地
14 System.out.println("我在打印流的目的地中输出");
15
16 ps.close();
17 }
18 }