- 缓冲流是在流管道中增加缓存的数据
- 让我们在使用流读取的文字更加的流畅
- 缓冲流属于高级流,创建时需要通过低级流
- 字节型和字符型流属于低级流
一、BufferedInputSteam
1. 包 java.io
2. 继承 FilterInputStream
3. 构造方法
构造方法 |
说明 |
BufferedInputStream(InputStream in) |
用低级流进行构建 |
BufferedInputStream(InputStream in,int size) |
用低级流进行构建,可选择缓存大小 |
4. 常用方法
二、BufferedOutputSteam 和BufferedInputStream类似
三、BufferedReader
4. 常用方法
返回值 |
方法名 |
说明 |
String |
readLine() |
每次读取一行信息 |
二、BufferedWriter
4. 常用方法
返回值 |
方法名 |
说明 |
void |
newLine() |
写入一个换行 |
void |
write(String s) |
写入一个字符串 |
对象流--将对象直接存在文件中
对象的序列化-----将一个完整的对象,拆分成字节碎片,存在文件中
对象的反序列化--将文件中记录的对象字节碎片,反过来组合成一个完整的对象
五、ObjectInputSteam ObjectOutputStream
1. 包 java.io
2. 继承 InputStream
3. 构造方法
4. 常用方法
返回值 |
方法名 |
说明 |
void |
writeObject(Object obj) |
将一个对象写入输出流 |
Object |
readObject() |
从对象输入流ObjectInputStream中读取一个对象 |
5.对象的序列化和反序列化
- 如果想要将对象序列化到文件中,需要让对象实现Serializable接口
- 这是一个示意性接口,没有需要具体化的方法
- 如果想要将对象反序列化,需要给对象提供一个序列化的版本号
所以应该在序列化时,需要在对象中添加private long serialVersionUID属性(long类型)