IO流的原理以及分类

IO流的原理以及分类

1 IO流的原理

1.1 简要分析

IO流中的I是input,输入的意思,就是磁盘中的文件读取到程序的内存中

IO流中的O是output,输出的意思,是程序的内存上的数据输出到磁盘上的文件中(也可以传到网络上的某个地址)

他是以内存为参考系,从内存出去叫做输出,从外部进入内存叫做输入

1.2 原理图

在这里插入图片描述

2 IO流的分类

2.1 按照流向划分

输入流:数据从磁盘文件到内存中一个过程

输出流:数据从内存中到磁盘文件中的一个过程

2.2 按照操作数据单位划分

2.2.1 字节流
a 以1字节(8比特位)去进行文件的数据的存取
b 适用于所有的文件类型,因为所有文件底层都是由二进制组成的
c 但是读取中文汉字的时候会出现乱码问题:

因为在ANSI编码格式中,字母和数字都是一个字节,但是中文汉字在windows系统中是2个字节,你逐个去进行取出的话,可能会出现乱码的问题,因为他识别不了数字对应的ascii编码表里面对应的字母

d. 字节流都是以Stream为结尾的,他的顶级抽象父类为InputStream或者OutputStream
2.2.2 字符流
a 以一个字符进行读取
b 字符可以是一个英文字母、中文汉字,也可以是中英文的标点符号
c 字符流是以Reader或者Writer为结尾的,其中以Reader结尾为输入流,以Writer结尾就代表他是输出流

2.3 按照流的角色

节点流和处理流(包装流)

3 四大流派示意图(IO包下的)

抽象基类字节流字符流实现的接口
输入流InputStreamReaderCloseable接口
输出流OutputStreamWriterFlushable接口、Closeable接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SSS4362

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值