一、java.io.BufferedOutputStream extends OutputStream 字节输出缓冲流
父类的方法可以直接使用
write(int b) 写一个字节
wrtie(byte[] bytes) 写一个字节数组
wrtie(byte[] bytes,int start ,int length) 写字节数组的一部分
构造方法
BufferedOutputStream(OutputStream out)
参数
OutputStream out:所有字节输出流的超类 抽象类
可以传入其任意子类对象
FileOutputStream
二、java.io.BufferedInputStream extends InputStream 字节输入缓冲流
可以使用父类的方法
int read() 读一个字节
int read(byte[] bytes) 读一个字节数组
BufferedInputStream
构造方法
BufferedInputStream(InputStream in)
参数
InputStream in:所有字节输入流的超类 可以传入其任意字节对象
三、java.io.BufferedWriter extends Writer 字符输出缓冲流
父类的方法都可以使用
write(int c)
write(char[] chs)
write(char[] chs,int start,int length)
write(String str)
特有方法
newLine() 写换行
构造方法
BufferedWriter(Writer w)
参数
Writer w: 所有字符输出流的超类 抽象类
可以传入其任意子类对象 FileWriter
四、java.io.BufferedReader extends Reader 字符输入缓冲流
可以使用父类的方法
int read() 读一个字符
int read(char[] chs)读一个字符数组
特有方法
String readLine() 一次读一行 不读取换行符 遇到回车换行就不读了
readLine()返回的是String类型
构造方法
BufferedReader(Reader r)
参数
Reader r:所有字符输入流的超类 可以传入其任意子类对象
FileReader
五、java.io.InputStreamReader extends Reader 字节通往字符的桥梁
可以使用父类的方法
int read()
int read(char[] chs)
构造方法
InputStreamReader(InputStream in)
InputStreamReader(InputStream in,String charsetName)
参数
InputStream in: 所有字节输入流的超类 可以传入其任意子类对象 FileInputStream
String charsetName:指定编码表 不可以乱指定会抛异常 我们正常指定 GBK utf-8
不区分大小写
如果不指定默认编码 idea工作空间的编码
六、java.io.OutputStreamWriter extends Writer 字符通往字节的桥梁
可以使用父类的方法
write(int c)
write(char[] chs)
write(char[] chs,int start,int length)
write(String str)
构造方法
OutputStreamWriter(OutputStream out) 不指定编码使用工作空间默认编码
OutputStreamWriter(OutputStream out,String charsetName)
参数
OutputStream out:所有字节输出流的超类 可以传入其任意子类对象 FileOutputStream
String charsetName:指定编码表 不可以乱指定会抛异常 我们正常指定 GBK utf-8
不区分大小写
如果不指定默认编码 idea工作空间的编码
七、java.io.ObjectOutputStream 序列化流
方法
writeObject(Object obj)
构造方法
ObjectOutputStream(OutputStream out)
参数
OutputStream out:所有字节输出流的超类 可以传入其任意子类对象
FileOutputStream
八、java.io.ObjectInputStream 反序列化流
方法
Object readObject() 读对象
构造方法
ObjectInputStream(InputStream in)
参数
InputStream in:所有字节输入流的超类 可以传入其任意子类对象
FileInputStream
Serializable序列化接口 没有任何方法
我们称这种没有方法的接口叫做 标记型接口
实现此接口可以序列化 不实现此接口不可以序列化
静态内容不能序列化
瞬态内容也不能序列化
transient:瞬态关键字 阻止成员序列化
九、打印流
PrintStream 字节打印流
PrintWriter 字符打印流
println 原样输出