Java中IO框架——FilterInputStream源码解析
2018-02-24 23:01
429 查看
FilterInputStream 继承自 InputStream 。
InputStream 的源码解析见:http://blog.csdn.net/yx0628/article/details/79343633
这里的源码结构使用了装饰者模式。从源码可以看出, FilterInputStream 类引用了一个输入流,而其各个方法,只是对所引用的流对象相应方法的调用,没有做其他处理,所以需要其子类来进行复写此方法,达到装饰的目的。
即 FilterInputStream 的子类要用来封装其它的输入流,并为它们提供额外的功能。其常用子类有 BufferedInputStream 和 DataInputStream 。
InputStream 的源码解析见:http://blog.csdn.net/yx0628/article/details/79343633
这里的源码结构使用了装饰者模式。从源码可以看出, FilterInputStream 类引用了一个输入流,而其各个方法,只是对所引用的流对象相应方法的调用,没有做其他处理,所以需要其子类来进行复写此方法,达到装饰的目的。
即 FilterInputStream 的子类要用来封装其它的输入流,并为它们提供额外的功能。其常用子类有 BufferedInputStream 和 DataInputStream 。
属性
引用了一个输入流。protected volatile InputStream in;
构造函数
构造函数中需要接收一个输入流。而后就可以对这个输入流对象进行包装。protected FilterInputStream(InputStream in) { this.in = in; }
方法
见 InputStream 中的源码解释。public int read() throws IOException { return in.read(); } public int read(byte b[]) throws IOException { return read(b, 0, b.length); } public int read(byte b[], int off, int len) throws IOException { return in.read(b, off, len); } public long skip(long n) throws IOException { return in.skip(n); } public int available() throws IOException { return in.available(); } public void close() throws IOException { in.close(); } public synchronized void mark(int readlimit) { in.mark(readlimit); } public synchronized void reset() throws IOException { in.reset(); } public boolean markSupported() { return in.markSupported(); }
相关文章推荐
- Java中IO框架——FileOutputStream源码解析
- Java中IO框架——OutputStream源码解析
- Java中IO框架——FileInputStream源码解析
- Java中IO框架——InputStream源码解析
- Android Butterknife 框架源码解析(2)——谈谈Java的注解
- Java基础知识强化之集合框架笔记11:Collection集合之迭代器的原理及源码解析
- NIO框架之MINA源码解析(五):NIO超级陷阱和使用同步IO与MINA通信
- Java Executor并发框架(十)Executor框架线程池源码解析
- JAVA常用集合框架源码解析(基于1.8)开题篇
- NIO框架之MINA源码解析(五):NIO超级陷阱和使用同步IO与MINA通信
- Java同步器框架-AQS原理&源码解析
- 通讯框架 t-io 学习——websocket 部分源码解析
- NIO框架之MINA源码解析(五):NIO超级陷阱和使用同步IO与MINA通信
- java三大框架的各自作用解析
- Java 集合系列06之 Vector详细介绍(源码解析)和使用示例
- Java线程源码解析之yield和sleep
- Kafka源码深度解析-序列3 -Producer -Java NIO
- Android Small插件化框架--启动插件Activity源码解析(下)
- 黑马程序员_Java基础——IO框架(上)(第5篇)
- 微软OA认证/ADFS认证 java 源码解析