JAVA基础——IO流

一、概述:

    有关“流”的概念是一个抽象的概念,如果要往简单里理解就可以把它理解成水流这一类似事物。IO流里面就是一系列的数据,根据处理数据的方式不同,从总体上将IO流分成了两大类——字节流和字符流,其实说到底就是一种字节流,字符流是基于字节流的,字节流经过字符编码的过程就转换为了字符流。将字节流和字符流分别根据传输方向分类,就出现了IO流的四大抽象类InputStream,OutputStream,Reader,Writer。

    其实可以将流理解为一个具有某种功能的载体,再根据JAVA语言中相关数据类型的不同,可以将四大抽象类向下继承实现各种具体功能。从而便衍生出具有不同功能的IO流相关类。

二、思维导图:

    根据IO流中类的相关特点及其所属关系,画了如下图示,下边依据图示对其中的部分类做一下相关说明:

三、相关类功能说明:

    1、转化流:概述中已经提到过,字符流和字节流其实本质上是一样的,只是做一个字符编码和解码的相互转换,IO流中也提供了具有该转换功能的类:InputStreamReader(字节流转为字符流)和OutputStreamWriter(字符流转为字节流),根据后缀可知其继承自字符流。

    2、缓冲区对象:是在四大抽象类前边添加Buffered字头,就是缓冲区对象;缓冲区对象相当于在流中封装了一个数组,该数组具有暂存数据的功能,当数据达到一定量时将数据传送出去,从而提高了数据传输的效率。在需要提高效率的时候就要考虑用上缓冲区对象。

    3、操作文件:说到操作文件的相关IO流类,就有必要提到IO流的File类,该类直接继承Object,它用来将文件或文件夹封装成对象,方便了对文件相关属性的访问,同时可以将该对象作为参数传递给操作文件等部分相关流,实现该文件的传输。

    4、管道流:管道流具备的特有特点是可以实现流的对接,就是在程序中指定输出和输入的对应关系,一般要结合线程来使用。

    5、其他IO流对象:其他的根据各自操作的对象的不同对其进行相关的分类,分别有:操作对象、基本的数据类型、字节和字符数组、字符串等。

四、运用思考:

    有关IO流的使用,在需要用的时候可以考虑如下:1、明确源和目的,做为源需要用到输入流,做为目的,需要用到输出流。2、操作的数据类型,分清字符流和字节流的使用。3、明确具体的操作对象。4、需要提高效率,用缓冲区对象包装。

五、综述;

    有关IO流的运用在实践应用中还是很常用的,明确事物概念和运用过程,在运用中学习;学习需要将知识系统化的看待,不能将所有的知识点孤立起来,系统化就是当我们看到一个(知识点)点时,在心中就生成了一个面(知识网);只有这样才能做到手中无剑,心中无剑,使开发能做到行云流水般流淌自如,正在努力做到这一点。

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值