Java-IO流
1 概述
数据传递的统称为流
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。
2 分类
按数据类型的不同,分为
字节流和字符流
按数据流向的不同,分为
输入流和输出流
按功能的不同,分为
节点流和处理流(节点流直接操作数据源,处理流对其他流进行处理)
3 抽象类
字节流 | 字符流 | |
---|---|---|
输入流 | InputStream | Reader |
输出流 | OutputStream | Writer |
4 文件流
4.1 InputStream
字节输入流
4.2 OutputStream
字节输出流
4.3 Reader
4.4 Writer
5 转换流
5.1 OutputStreamWriter
字节输出流转为字符输出流
5.2 InputStreamReader
字节输入流转为字符输入流
6 缓冲流
6.1 BufferedReader
字符输入缓冲流
6.2 BufferedWriter
7 打印流
7.1 概述
7.2 使用方式
7.3 文件复制
8 数据流
9 对象流
9.1 概述
9.2 序列化
9.3 注意
要序列化的对象必须实现Serializable接口
9.4 反序列化
9.5 版本控制
如果序列化之后,我们的类文件发生了更改
每个类都有UID,来表示当前版本,只要发生更改,UID也会随着更改
所以只要类更改了,或者添加新功能了,此时如果再进行反序列化 就会报错
所以 一般我们会单独指定一个UID 来保证版本一致,一般写1L即可
9.6 Transient
如果不想让某个变量被序列化,可以使用transient修饰符修饰
可以把没必要的数据不进行序列化操作,从而提升序列化和反序列化的效率
10 File
10.1 概述
10.2 构造方法
10.3 常用方法
10.4 使用方式
10.5 单个文件复制
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sjZdL3vH-1624964898583)(E:\Typora仓库\img\image-20210629190544672.png)]