51.打印流

打印流

printprintln方法来自于java.io.PrintStream

一、PrintStream类

PrintStream :【继承OutputStream】为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。

1.PrintStream特点:

  1. 只负责数据的输出,不负责数据的读取
  2. 与其他输出流不同,PrintStream 永远不会抛出 IOException
  3. 有特有的方法,print,println
    • void print(任意类型的值)
    • void println(任意类型的值并换行)

2.构造方法:

  • PrintStream(File file):输出的目的地是一个文件
  • PrintStream(OutputStream out):输出的目的地是一个字节输出流
  • PrintStream(String fileName) :输出的目的地是一个文件路径

3.继承自父类的成员方法(省略public):

  • void close() :关闭此输出流并释放与此流相关联的任何系统资源。
  • void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。
  • void write(byte[] b):将 b.length字节从指定的字节数组写入此输出流。
  • void write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流。
  • abstract void write(int b) :将指定的字节输出流。

4.注意:

  • 如果使用继承自父类的write方法写数据,那么查看数据的时候会查询编码表,例如97->a
  • 如果使用自己特有的方法print/println方法写数据,写的数据原样输出,例如97->97

5.改变打印流向

System.out就是PrintStream类型的,只不过它的流向是系统规定的,打印在控制台上。不过,既然是流对象,我们就可以玩一个"小把戏",改变它的流向
使用System.setOut方法改变输出语句的目的地改为参数中传递的打印流的目的地

  • static void setOut(PrintStream out):重新分配“标准”输出流。
// 创建打印流,指定文件名称
PrintStream ps = new PrintStream("F:\\test\\changestream.txt");

// 设置系统的打印流向,输出到ps.txt
System.setOut(ps);

System.out.println("你看,屏幕上没有打印!");

你可能感兴趣的:(51.打印流)