打印流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();
}
}