Java:IO流的概念、作用、分类

1:流的概念和作用

  • 流:代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象

  • 流的本质:数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作

作用:为数据源和目的地建立一个输送通道


2:流的分类

2.1 按操作数据单位不同分为:字符流、字节流

字符流和字节流的区别:

  • 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读取多个字节。

  • 处理对象不同:字节流能处理所有类型的数据(如图片、.avi等),字符流只能处理纯文本的数据。

结论:如果处理纯文本的数据优先考虑字符流,其他情况 用字节流

2.2 按流的角色的不同分为:节点流,处理流

  • 节点流:流直接作用在文件上
  • 处理流:流作用在已有的流基础上

2.3 按数据流的流向不同分为:输入流,输出流

  • 对输入流只能进行读操作,对输出流只能进行写操作
  • 程序中需要根据待传输数据的特性来选择使用不同的流。

3:IO 流体系

在这里插入图片描述


4:抽象基类:InputStream(字节) & Reader(字符)(是所有输入流的基类)

  • InputStream(典型实现:FileInputStream

  • Reader(典型实现:FileReader


5:抽象基类:OutputStream(字节) & Writer(字符)(是所有输出流的基类)

  • OutputStream(典型实现:FileOutStream

  • Writer(典型实现:FileWriter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值