首先说下下面这段代码,以前很不理解java IO为什么用一次要用到那么多的类,看完了head first 的设计模式后才了解
这是用到了装饰者模式,通过类之间的包装来实现各种不同的实现,在java类库中有java io实现了这个设计模式,还有collection也实现(没具体分析过)
head first的讲解是这样的,现在有一个小卖部,出售冰激凌,但是冰激凌有好多配料,好多的口味,这些个配料装饰冰激凌,实现各种口味的冰激凌的买卖。
再来具体分析下为什么要这样的顺序,java io的类主要有两类,第一:inputstream和outputstream java1.0开始,比较老,有的类抛弃了,有的还是用着
第二:Reader 和 Writer java1.1开始,特点:国际化,这个地方用到了适配器模式
io包括数据的来源和去处,以及更改流的行为
对于更改流的行为,一般使用FilterInputStream的装饰器子类来修改流的特性
下面的StringReader是获得数据的来源,BufferedReader是装饰这个来源的,使其具有缓冲功能
java IO的一些理解 (0)
最新推荐文章于 2024-09-11 01:10:25 发布