JAVA IO中的设计模式
2017-07-14 17:45
225 查看
JAVA IO中的设计模式
在java语言 I/O库的设计中,使用了两个结构模式,即装饰模式和适配器模式。在任何一种计算机语言中,输入/输出都是一个很重要的部分。与一般的计算机语言相比,java将输入/输出的功能和使用范畴做了很大的扩充。因此输入输出在java语言中占有极为重要的位置。java语言采用流的机制来实现输入/输出。所谓流,就是数据的有序排列,流可以是从某个源(称为流源,或者 Source of Stream)出来,到某个目的(Sink of Stream)地去。根据流的方向可以将流分成输出流和输入流。程序通过输入流读取数据,想输出流写出数据。
例如:一个java程序可以使用FileInputStream类从一个磁盘文件读取数据,如下图:
View Code
可以看出,这个类接受一个类型为inputStream的System.in对象,将之适配成Reader类型,然后再使用BufferedReader类"装饰"它,将缓冲功能加上去。这样一来,就可以使BufferedReader对象的readerLine() 方法读入整行的输入数据,数据类型是String。 在得到这个数据之后,程序又将它写出到System.out 中去,完成了全部的流操作,下图所示为其管道图:
本系统使用了BufferedReader来为流的读入提供缓冲功能,这样做的直接效果是可以使用readLine()方法按行读入数据。但是由于 Reader接口并不提供readLine()方法,所以这样一来,系统就必须声明一个BufferedReader类型的流处理器,而不是一个 Reader类型的流处理器,这意味着装饰模式的退化。
在上面的管道连接过程中,InputStreamReader 起到了适配器的作用,它将一个byte类型的输入流适配成为一个char类型的输入流。在这之后,BufferedReader则起到了装饰模式的作用, 将缓冲机制引入到流的读入中。因此这个例子涉及到了两个设计模式。
相关文章推荐
- JAVA IO 设计模式彻底分析
- 浅析Java IO 设计模式之—装饰器模式
- Java IO学习【10】装饰设计模式
- Java IO设计模式彻底分析 (转载)
- Java IO中涉及到的哪些类以及哪些设计模式
- 黑马程序员-Java IO和装饰设计模式
- JAVA基础(五)IO(三)包含装饰者设计模式
- JAVA IO之装饰器模式(Head first 设计模式之装饰器模式)
- JAVA IO 设计模式彻底分析
- JAVA IO 设计模式彻底分析
- java IO 字节流、字节流读写文件、字节流缓冲区、文件拷贝、装饰设计模式
- java IO体系之设计模式详解——01
- Java IO 中的设计模式
- Java IO中涉及到的哪些类以及哪些设计模式
- Java——设计模式——装饰者模式——在IO里的应用
- Java IO中的设计模式--装饰器和适配器模式
- 面试中问到的Java IO中涉及到哪些设计模式
- JAVA IO 设计模式彻底分析
- Java IO 流 设计模式
- java.io.*中的设计模式之 装饰(Decorator)模式