IO流及流的分类

IO流用于处理设备之间数据的传输,并不局限于内存和文件之间
数据从一个位置流到另一个位置叫做数据流
以程序为中心(或者说从内存的角度)进行分析问题,把数据读到程序中(内存中)叫做输入,把数据从内存当中写出到磁盘当中,或者进行网络传输出去叫输出。

字符流: 操作数据的基本单位是2个字节(即1个char),适合处理文本数据。

字节流: 操作数据的基本单位是1个字节,适合处理图片,视频等
比如现在有个.txt文件,想把这个文件的数据读到内存中,这个文件中每一个位置都是字符

节点流: 比如说想把文件中的数据加载到内存层面,直接就在文件和内存之间造了一个流,即直接作用在文件上的流叫做节点流

处理流: 这种流作用在已有流的基础之上。在节点流的基础之上又包了一层,即里面的流的对象作为参数给了外面流的构造器。可以包很多层,在已有的流的基础上包的流叫做处理流,包住节点流的流都叫处理流
处理流有很多种,作用不一样,是外面包的这层流叫做处理流,不是一起叫做处理流。

注意:抽象类中不一定会有抽象方法
直接可以操作File的流:节点流,又叫做文件流
带有stream的是字节流,带有reader或者writer的是字符流
在这里插入图片描述

在这里插入图片描述
用flush的时候不管数据有没有装满缓冲区都会写出去,通常处理流都会有flush方法
缓冲流会自动flush
有的处理流没有自动去flush,我们就要考虑去显示的写。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值