Java I/O类库的基本架构
I/O问题是任何编程语言都无法回避的问题,可以说I/O问题是整个人机交互的核心问题,因为I/O是机器获取和交换信息的主要渠道。在当今数据大爆炸的时代,I/O问题尤其突出,很容易成为一个性能瓶颈。正因为如此,Java在I/O上也一直在做持续的优化,如从1.4版开始引入了NIO,提升了I/O的性能。
Java的I/O操作类在包java.io下,大概有将近80个类,这些类大概可以分成如下4组:
1)基于字节操作的I/O接口:InputStream和OutputStream
2)基于字符操作的I/O接口:Writer和Reader
3)基于磁盘操作的I/O接口:File
4)基于网络操作的I/O接口:Socket
前两组主要是传输数据的数据格式,后两组主要是传输数据的方式,虽然Socket类并不在java.io包下,但这里却仍然把它们划分到了一起,因为I/O的核心问题要么是数据格式影响I/O操作,要么是传输方式影响I/O操作,也就是将什么样的数据写到什么地方的问题。I/O只是人与机器或机器与机器交互的手段,除了它们能够完成这个交互功能外,我们关注的就是如何提高它的运行效率了,而数据格式和传输方式是影响效率最关键的因素。
基于字节的I/O操作接口:
注意:在使用流的时候,必须要指定流最终写到什么地方,要么写到磁盘,要么写到网络中。
时间: 2024-10-12 20:15:46