- 浏览: 232914 次
文章分类
- 全部博客 (160)
- java语言基础 (67)
- jsp基础 (2)
- eclipse使用 (2)
- java源码解读 (6)
- 计算机基础 (3)
- eclipse插件 (0)
- 网络基础 (8)
- 算法 (2)
- linux (0)
- 英语 (0)
- C语言 (4)
- JavaScript (17)
- 数学 (0)
- struts2 (2)
- 自然哲学 (0)
- Servlet (1)
- HttpServer (2)
- ext (1)
- 个人 (1)
- dojo (27)
- spring (2)
- hibernate (4)
- css (3)
- 多线程 (0)
- chrome插件开发 (0)
- svn (0)
- thrift (2)
- phonegap (1)
- java线程 (1)
- 不是很熟悉的css属性 (0)
- 数据库性能调优 (0)
- 项目管理 (1)
- ios (0)
- 软件工程 (0)
- db2 (0)
- 词汇管理 (0)
- zhenyan (0)
- 计划 (0)
- android (0)
- ssss (0)
- 是的 (0)
- dsada (0)
- 泛点是 (0)
- fds (0)
- cxzc (0)
- 权限 (0)
- dfsfds (0)
- http://www.cnblogs.com/kingboy2008/p/5261771.html (0)
- sss (0)
- ddd (0)
- fdsfdsf (0)
- sso (0)
- nginx (0)
- 分布式数据一致性 (0)
- mysql (0)
- ios永久存储 (0)
- js匿名函数 (0)
- 打印机qqq (0)
最新评论
public class FilterInputStream extends InputStream { //待过滤的输入流 protected volatile InputStream in; protected FilterInputStream(InputStream in) { this.in = in; } 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(); } }
可以发现这个类是相当有趣的,它的构造函数传递进来一个InputStream对象,然后当我们创建一个FilterInputStream对象时,调用它的各种方法,但实际还是原先InputStream的方法。
但是为什么这么设计呢?
发表评论
-
mysql并发
2013-01-08 13:38 0/** * 测试msql JDBC连接并发安全性 ... -
java注解2
2013-01-06 22:02 1010由前一篇的代码,运行代码如下:public clas ... -
java注解1
2013-01-06 21:56 945本文演示java注解的使用 1. getDe ... -
Java集合框架分析
2012-08-29 21:28 01. Java集合整体框架 下面的两张图说明 ... -
AbstractList
2012-08-29 20:48 977public abstract class Abstra ... -
Set
2012-08-28 11:17 677public interface Set<E> e ... -
List源码
2012-08-28 11:15 1003public interface List<E&g ... -
Collection源码
2012-08-28 11:13 940public interface Collection< ... -
java集合框架
2012-08-28 10:39 0java的集合框架中,主要有3类常用的集合。 -
web的debug
2012-03-29 10:48 0hh -
文件读取
2012-03-10 19:32 0public class Util { publ ... -
HTML元素的访问
2011-11-30 09:31 0有3忠方法可以访问html中的元素。 -
Schema数据类型
2011-11-26 16:34 0Schema不仅内置了丰富的数据类型,而且还允许开发者 ... -
初学XML3
2011-11-26 10:08 0编写了XML Schema语义约束之后,必须将其导入目 ... -
初学XML2
2011-11-26 09:22 817<?xml version="1.0& ... -
初学XML
2011-11-26 08:50 885<?xml version="1.0&q ... -
JavaScript字符串
2011-11-19 21:29 916JavaScript有三种基本数据类型,字符串,数字以 ... -
项目管理
2011-11-05 22:39 0项目管理开始于项目计划阶段,贯穿于整个系统开发生命周期 ... -
项目可行性分析
2011-11-05 21:23 0项目可行性包括三个方面:技术可行性,经济可行性,组织 ... -
系统开发生命周期
2011-11-05 21:16 0系统开发生命周期有四个4个基本阶段: 计划- ...
相关推荐
FilterInputStream 的源码中,它继承自 InputStream,并且有一个 protected 的 volatile 变量 in,表示被封装的输入流。它的构造函数 FilterInputStream(InputStream in) 用来初始化这个变量。其他方法,如 read()、...
3. **ZipInputStream**: 这个类继承自`FilterInputStream`,用于从ZIP文件中读取数据。通过创建`ZipInputStream`实例并连接到ZIP文件,我们可以遍历每一个`ZipEntry`,并使用`BufferedInputStream`等辅助类将其内容...
10. **源码分析**:由于包含源码,开发者可以深入理解Apache Commons IO库的内部工作原理,学习优秀的编程实践,并根据需求进行扩展或定制。 Apache Commons IO 是Java开发中的重要辅助库,它的功能强大且实用,...
7. **过滤流**:FilterInputStream、FilterOutputStream、FilterReader和FilterWriter是装饰器模式的应用,用于增强或修改原有流的功能,如DataInputStream和DataOutputStream增加了读写基本数据类型的能力。...
7. 装饰器模式(Decorator Pattern):装饰器模式动态地给一个对象添加额外的职责,如`java.io.InputStream`和`java.io.FilterInputStream`,后者可以在不改变原有行为的基础上增加新的功能。 8. 桥接模式(Bridge ...
- `FilterInputStream`: 作为其他输入流的基础,提供基本的过滤和装饰功能。 - `BufferedInputStream`: 提供缓冲功能,提高读取效率。 - `DataInputStream`: 支持读取基本数据类型的流。 - `PushbackInputStream`: ...
- `ZipInputStream` 是一个继承自`FilterInputStream`的类,用于读取ZIP格式的压缩数据流。你可以通过它逐个读取ZIP文件中的条目(entries)。 3. **`ZipEntry` 类**: - `ZipEntry` 表示ZIP文件中的一个条目,...
5. 输入/输出过滤:FilterInputStream和FilterOutputStream允许用户自定义数据过滤规则,通过包装现有的输入/输出流,可以添加额外的功能,如压缩、加密等。 6. 线程安全的缓冲流:BufferedInputStream和...
- `FilterInputStream`和`FilterOutputStream`作为装饰者模式的实现,可以方便地在已存在的流上添加额外功能。 6. **关闭流** - 使用`close()`方法关闭流,释放系统资源。注意遵循“先开后关”原则,即最后打开的...
在这个实例中,我们可能会看到一个实现了`FilterInputStream`或`FilterOutputStream`的自定义类,这个类会在读取或写入数据时自动处理编码转换,确保中文字符的正确显示。 例如,我们可以创建一个`...
例如,DataInputStream和DataOutputStream可以进行基本类型的数据读写,FilterInputStream和FilterOutputStream提供了一种扩展流功能的方法。 4. **对象序列化与反序列化**: Java提供了Serializable接口,使得...
它们通过继承抽象类FilterInputStream或FilterOutputStream来实现这一机制。 1. **基础概念** - **FilterInputStream**:这是所有输入过滤流的基类,它包裹了一个底层的InputStream,并在其上添加了额外的功能。 ...
它们继承自FilterInputStream和FilterOutputStream,可以在节点流之上使用。 ```java DataInputStream dis = new DataInputStream(new FileInputStream("input.txt")); int value = dis.readInt(); // ... dis....
FilterInputStream是InputStream的抽象装饰类,提供了很多子类如DataInputStream、ObjectInputStream等,它们分别添加了对数据格式化的处理或者对象序列化的能力。同样的,装饰模式也在字符流中应用,如...
2. **FilterInputStream和FilterOutputStream**:这些是装饰者模式的实现,提供对基本字节流的增强功能,如`BufferedInputStream`和`BufferedOutputStream`增加了缓冲,`DataInputStream`和`DataOutputStream`支持...
3. **FilterInputStream** 和 **FilterOutputStream**:这些类是通用的过滤器,可以包装任何InputStream或OutputStream,提供了一些通用的处理方法。 4. **PrintStream**:装饰OutputStream,增加了打印和错误处理的...
它们都继承自`FilterInputStream`和`FilterOutputStream`,可以在处理流数据时进行压缩或解压缩。 5. **创建和写入.zip文件**: 要创建一个新的.zip文件,可以使用`ZipOutputStream`。首先,你需要创建一个`...
在标签中提到的“源码”部分,理解流的工作原理有时需要查看其内部源码,以便优化性能或解决特定问题。例如,了解BufferedReader的readLine()方法如何处理换行符,或者ObjectOutputStream如何序列化对象。 至于...
《Apache Commons IO 1.3.2 源码解析》 Apache Commons IO 是一个 Java 类库,专门处理输入/输出流操作,提供了一系列实用工具类,极大地简化了 Java I/O 操作。在这个主题中,我们将深入探讨 `commons-io-1.3.2-...