Java I/O工作机制

1.Java I/O类库的基本架构

前两组主要是传输数据的数据格式,后两组主要是传输数据的方式,Socket类并不在I/O包下,暂且划在一起.

作者观点:I/O问题的核心问题要么是数据格式影响I/O操作,要么是传输方式影响I/O操作.数据格式和传输方式是影响效率最关键的因素.

2.基于字节的I/O操作

输入接口InputStream类层次结构

输出接口OutputStream类层次结构

3说明两点

A.操作数据的方式是可以组合使用的

OutputStream out = new BufferedOutputStream(new ObjectOutputStream(new FileOutputStream("filename")));

B.必须要指定流最终要写入到什么地方,要么磁盘,要么网络.

4.基于字符的I/O操作接口

Reader类层次结构

Writer类层次结构

5.说明

  不管是磁盘还是网络传输,最小的存储单元都是字节,而不是字符,所以I/O操作的都是字节而不是字符.而我们通常操作的都是字符文件,所以为了方便操作,才提供直接读写字符的接口.

从字符到字节必须经过编码转换,此过程是一个耗时操作,而且经常出现各种问题,我的另一篇blog:http://www.cnblogs.com/fxust/p/7118416.html介绍了字符与字节转化的操作.

posted @ 2017-07-22 14:32  疯狂的蜗牛仔  阅读(128)  评论(0编辑  收藏  举报