java高级流_Java中的高级I/O流-缓冲流、数据流以及对象流

Java中的高级I/O流-缓冲流、数据流以及对象流

前言:通过前面的学习,已经学完了Java中的基本流;Java中的流有字节流和字符流两大类,而每一种流都有对应的输入和输出流;

1、字节流

1.1字节输入流-主要是:FileInputStream

1.2字节输出流-主要是:FileOutputStream

2、字符流

2.1字符输入流-主要是:FileReader

2.2字符输出流-主要是:FileWriter

无论是字节或者字符输入流都有三种主要的read()方法,分别是读单字节/字符read()方法   利用字节/字符数组进行读 read(byte [ ] bytes) 为了防止最后一次读入有误,我们一般会指定每次字节/字符数组的读入read(byte [ ] bytes,int start int len)

那么相对应的无论字节或者是字符输出流都有一种和输入流相对应的写方法,所以写方法也主要有三种,看你是怎么读入进来的,我就怎么写出去;

总结起来,其实就学了两对流(一对字节流,一对字符流),三种读写的方法(单字节/字符读写 字节/字符数组读写  指定位置的字节/字符的读写)

Java中除了基本的I/O流,还有高级的I/O流,那就是缓冲流和包装流(包括数据流和对象流)

一、缓冲流

42eb5e1363c71c0a628b16bdb25f8017.png

为什么要有缓冲流?

比如说,家里盖房子,有一堆砖头要搬在工地100米外,单字节的读取就好比你一个人每次搬一块砖头,从堆砖头的地方搬到工地,这样可定很费时间,然后好的方法就是多叫几个小伙伴帮你一起搬砖头,这样因为人多了,每次可以搬十块砖头,但效率还是很低,这就好比我们的字节/字符数组读写操作;然而聪明的人类会用小推车,每次先搬砖头搬到小车上,再利用小推车运到工地上去,这样你或者你的小伙伴们再从小推车上取砖头是不是方便多了呀!这样效率就会大大提高,缓冲流就好比我们的小推车;给砖头暂时提供一个可存放的空间;

注意:缓冲流属于包装流,只能对已有的流进行封装,不能直接关联文件进行操作

二、字节缓冲流

d848e9de1eeb07eca79e2de5da67ed23.png

9224f3495073ab2ded34a2d9ad01ee06.png

三、字符缓冲流

e4abad74549b1794bf37708913d2e7bf.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值