JAVAIO流

什么是IO流

IO流即是in和out,即为输出与输入,指的是程序与外部设备的联系

什么是流

是一种抽象的概念,是一种连续的数据和字符字节以先进先出的方式发送信息的通道

当程序需要读取数据时,就会开启一个通向数据的流,这个数据可以是文件,内存,或者是网络链接,当程序需要数据时,就会开启一个通向目的地的流,这时就可以想象数据在通道中流动

特性:

1.先进先出:最先写入数据流的数据最先被读取

2.顺序存取:可以一个接一个的写入一串字节,读取时也可以一个接一个的按顺序读取,不可以只读取中间的某一个

3.只读只写:每个流的功能只能是只读或只写,不能是即可以读也可以写

输入流和输出流

输入与输出是相对于应用程序而言的,比如文件读写,读取文件是输入流,写文件是输出流,这点很容易搞反

节点流和处理流

节点流:也称低级流,是真实连接在程序与另一端的管道,负责实际的读写数据的流

读写一定是建立在节点流的基础上的

节点流好比家里的自来水管,连接我们家庭和自来水厂,负责运水

处理流:也称高级流,不能独立存在,必须连接在其他流上,目的是当数据经过当前时对其加工处

理,简化我们对数据的同等加工,可以比作净水器,可以对水进行加工处理

实际上开发我们经常会串联一组高级流最终连接到低级流上,在读写操作时以流水线的加工完成复杂的IO操作,这个过程也称为流的连接

缓冲流

缓存流的flush方法用于强制将缓存区中已经缓存的数据一次性写出

对象流

java.io.objectOutputputStream和objectSteam

对象流是一对高级流,在流连接中的作用是进行对象的序列化于反序列化

对象序列化:将一个java对象按照其结构转换为一组字节的过程

反序列化:将一组字节还原为java对象(前提是这组字节是一个对象序列化得到的字节)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值