您的位置:首页 > 编程语言 > Java开发

Java IO(一) 之 IO总览

2015-07-25 22:51 429 查看
前言:

IO对于系统设计来说,是一个很重要的关注点,往往系统运行的瓶颈就在IO设计上,无论是数据库IO,文件IO还是网络IO,都需要进行精致的设计,才能使得系统达到最佳运行状态。对于现代系统并发量、数据量的剧增,IO处理对于系统显得更加重要。研究Java IO对于我们工作有益无害。

Java.io包含了Java阻塞型IO的设计。Java的IO主要包含三个部分:

1.流式部分–IO的主体部分;

2.非流式部分–主要包含一些辅助流式部分的类,如:File类、RandomAccessFile类和FileDescriptor等类;

3.文件读取部分的与安全相关的类,如:SerializablePermission类。以及与本地操作系统相关的文件系统的类,如:FileSystem类和Win32FileSystem类和WinNTFileSystem类。

Java.io包中主要是字节流和字符流、输入与输出,流具有最基本的特点:流是一位的,单向的。

下面来看看java.io包中大部分类的具体类图,了解其继承关系。

字节输入流:



字节输出流:



字符输入流:



字节输出流:



由以上的类图可知,字节流和字符流大部分都是在InputStream、OutputStream、Writer、Reader接口约定实现的。

java.io系列接口和实现中,大量的使用了装饰者设计模式,这使得在不改变原有类结构的情况下,可以对类功能进行扩展,而且我们也可以创建自己的装饰者,来包装某些特定的流类。

接下来的系列中,本系列文章将从字节流开始讲起,针对每种流和每种装饰的流进行分析。文章分析重点在源码分析和应用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息