Java-IO流

Java-IO流

1 概述

数据传递的统称为流

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

2 分类

按数据类型的不同,分为

​ 字节流和字符流

按数据流向的不同,分为

​ 输入流和输出流

按功能的不同,分为

​ 节点流和处理流(节点流直接操作数据源,处理流对其他流进行处理)

3 抽象类

字节流字符流
输入流InputStreamReader
输出流OutputStreamWriter

4 文件流

4.1 InputStream

字节输入流

image-20210629182211769

image-20210629184348659

image-20210629184407496

image-20210629184424869

image-20210629184442719

image-20210629184509241

image-20210629184531792

image-20210629184605056

4.2 OutputStream

字节输出流

image-20210629184651945

image-20210629184721329

4.3 Reader

image-20210629184752030

image-20210629184826867

4.4 Writer

image-20210629184850091

image-20210629184904245

5 转换流

5.1 OutputStreamWriter

字节输出流转为字符输出流

image-20210629185111087

5.2 InputStreamReader

字节输入流转为字符输入流

image-20210629185158202

image-20210629185210653

6 缓冲流

image-20210629185238183

6.1 BufferedReader

字符输入缓冲流

image-20210629185305116

image-20210629185319073

6.2 BufferedWriter

image-20210629185351284

7 打印流

7.1 概述

image-20210629185423891

7.2 使用方式

image-20210629185449113

7.3 文件复制

image-20210629185534040

image-20210629185549768

8 数据流

image-20210629185619259

image-20210629185644443

image-20210629185722266

image-20210629185734144

9 对象流

9.1 概述

image-20210629185908441

image-20210629185927933

9.2 序列化

image-20210629185952300

image-20210629190017022

9.3 注意

要序列化的对象必须实现Serializable接口

image-20210629190105637

9.4 反序列化

image-20210629190128154

9.5 版本控制

image-20210629190151719

image-20210629190205648

如果序列化之后,我们的类文件发生了更改

每个类都有UID,来表示当前版本,只要发生更改,UID也会随着更改

所以只要类更改了,或者添加新功能了,此时如果再进行反序列化 就会报错

所以 一般我们会单独指定一个UID 来保证版本一致,一般写1L即可

9.6 Transient

如果不想让某个变量被序列化,可以使用transient修饰符修饰

可以把没必要的数据不进行序列化操作,从而提升序列化和反序列化的效率

image-20210629190303782

image-20210629190315822

10 File

10.1 概述

image-20210629190341493

10.2 构造方法

image-20210629190406239

10.3 常用方法

image-20210629190433620

10.4 使用方式

image-20210629190500452

image-20210629190515329

10.5 单个文件复制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sjZdL3vH-1624964898583)(E:\Typora仓库\img\image-20210629190544672.png)]

10.6 递归获取目录下所有文件

image-20210629190613766

10.7 递归复制标准化

image-20210629190656858

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值