打印流

  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 }