打印流PrintStream

时间:2021-07-13 15:28:00

打印流PrintStream

PrintStream extends OutputStream

1、打印流的特点

  • 只负责数据的输出,不负责数据的读取
  • 与其他的流不同,打印流永远不会抛出IOException
  • 有特有的方法print、println

2、构造方法

构造方法 作用
PrintStream(File file) 输出的目的地是一个文件
PrintStream(OutputStream out) 输出的目的地是一个字节输出流
PrintStream(String filename) 输出的目的地是一个文件路径

3、可以使用父类OutputStream的方法

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

注意:

  • 如果使用的父类的方法write来写数据,那么就会查看编码表比如write(98) -->b
  • 如果是使用自己的print、println方法,那么就是写什么就是什么println(99)--> 99
package cn.zhuobo.day15.aboutPrintStream;

import java.io.FileNotFoundException;
import java.io.PrintStream; public class Demo01PrintStream {
public static void main(String[] args) throws FileNotFoundException {
PrintStream ps = new PrintStream("day15-code/printStream.txt");
ps.write(99);
ps.println("hello");
ps.println(99);
ps.println(true);
ps.close();
}
}

4、静态方法setOut

static void setOut(PrintStream ps):改变输出语句的目的地为参数中传递的打印流的目的地

package cn.zhuobo.day15.aboutPrintStream;

import java.io.FileNotFoundException;
import java.io.PrintStream; public class Demo01PrintStream {
public static void main(String[] args) throws FileNotFoundException {
PrintStream ps = new PrintStream("day15-code/printStream.txt"); System.out.println("这句话打印在控制台");
System.setOut(ps); System.out.println("这句话就输出到了ps的目的地,也就是day15-code/printStream.txt");
ps.close();
}
}