Java IO流

来源:互联网 发布:卡尔曼滤波跟踪算法 编辑:程序博客网 时间:2024/06/14 07:23

定义:

       流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

分类:

按数据流的方向不同可以分为输入流和输出流;

按处理数据单位不同可以分为字节流和字符流;

按照功能不同可以分为节点流和处理流;


字符流和字节流

       字符流的由来:因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。字节流和字符流的区别:

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

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

结论:只要是处理纯文本数据,就优先考虑使用字符流。除此之外都使用字节流。


输入流和输出流

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


节点流和处理流



J2SDK所提供的所有流类型位于包java.io内,都分别继承自以下四种抽象流类型


具体的如下



0 0
原创粉丝点击