###I/O问题是大问题 I/O问题是任何编程语音都无法回避的问题、可以说I/O问题是整个人机交互的核心问题,因为I/O是机器获取和交换信息的主要渠道,在当今这个大数据时代,I/O问题尤其突出,很容易成为一个性能瓶颈。正因如此,Java在I/O上也一直在持续的优化,如从1.4版开始引入了NIO,提升了I/O的性能
代码语言:javascript复制Java的 I/O操作类在包java.io下,大概有将近80个类,这些类大概可以分成如下4组。
- 基于字节操作的I/O接口:InputStream 和 OutputStream
- 基于字符操作的I/O接口:Writer 和 Reader
- 基于磁盘操作的I/O接口:File
- 基于网络操作的I/O接口:Socket
前两组主要是传输数据的 数据格式
后两组主要是传输数据的 方式
###1.基于字节的IO/操作接口
操作接口输入输出分别是InputStream
和 OutputStream
数据格式和传输方式 是影响效率最关键的因素。
操作数据的方式,这块涵盖了 装饰模式的思想。 如:
代码语言:javascript复制OutputStream out = new BufferedOutputStream(new ObjectOutputStream(new FileOutputStream("fileName")));