一、概念

文件在程序中是以流的形式来操作的。

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

二、分类

1、按照流向划分:输入流、输出流

[摘]Android IO流读写文件

以内存为参照:

输入流:从文件流向内存

输出流:从内存流向文件

2、按照传输单位划分:字节流、字符流

[摘]Android IO流读写文件

字节流:可以用于读写二进制文件及任何类型文件。

字符流:可以用于读写文本文件。

三、字节流VS字符流的区别

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

区别:

1、读写单位不同:字节流以字节(1 byte,1byte=8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
2、处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。
3、缓存。字节流在操作的时候本身是不会用到缓冲区的,是文件本身的直接操作的;而字符流在操作的时候下后是会用到缓冲区的,是通过缓冲区来操作文件。

总结:优先选用字节流。因为硬盘上的所有文件都是以字节的形式进行传输或者保存的,包括图片等内容。字符只是在内存中才会形成的,所以在开发中,字节流使用广泛。

本文摘抄于《AndroidIO流读写文件

相关文章

暂无评论

none
暂无评论...