PrintStream继承于FilterOutputStream,是其子类。
PrintStream用于装饰其他输出流,给其他输出流增加打印功能,能够打印各种数据形式。
PrintStream不会产生IOException,PrintStream会捕捉错误并做标记。可以通过checkError()获得错误标记,以检查是否有错误产生。
PrintStream提供了自动flush()功能和设置字符集功能。所谓自动flush()是指,写入数据包括append/print/println/write时,自动调用flushI()方法。
1.构造器
PrintStream(OutputStream out):通过字节输出流对象创建打印输出流,不开启自动flush(),采用默认字符集
PrintStream(OutputStream out,boolean aotoflush):通过字节输出流对象创建打印输出流,开启自动flush(),采用默认字符集
PrintStream(OutputStream out,boolean aotoflush,String encoding):通过字节输出流对象创建打印输出流,开启自动flush(),采用设置字符集
PrintStream(File file):通过文件创建打印输出流,不开启自动flush(),采用默认字符集
PrintStream(File file,String charsetname):通过文件创建打印输出流,不开启自动flush(),采用设置字符集
PrintStream(String filename):通过文件名创建打印输出流,不开启自动flush(),采用默认字符集
PrintStream(String filename,String charsetname):通过文件名创建打印输出流,不开启自动flush(),采用设置字符集
注:只有通过OutputStream对象创建打印输出流,可以设置自动flush()
2.常用方法
void flush():刷新缓冲
void close();关闭
boolean checkError():检查错误
PrintStream append(char c):追加字符c
PrintStream append(charsequence c):追加字符序列c
PrintStream append(charsequence c,int start,int end):追加字符序列c,从start(含)开始,到end(不含)
void print(char c):写入字符c
void print(char[] c):写入字符数组c
void print(float c):写入单精度数据c
void print(double c):写入双精度数据c
void print(String str):写入字符串str
void print(shortc):写入shor数据类型c
void print(long c):写入long数据类型c
void print(int c):写入int数据类型c
void print(Object obj):写入 obj
void print(booleam boo):写入boolean数据类型boo
void write(int onebyte):写入字节onebyte
void write(byte[] c):写入字节数组c
总结;
a:append方法可以写入字符、字符序列
b.print/println可以写入各种数据类型
c.write可以写入字节、字节数组