Java IO(一) 之 IO总览

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

接下来的系列中,本系列文章将从字节流开始讲起,针对每种流和每种装饰的流进行分析。文章分析重点在源码分析和应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值