Decorator设计模式: 装饰,包装模式;
在程序中用一个对象(the Decorators)包装另外的一个对象,这种方式被成为decorators设计模式。
FileReader,
BufferdReader来封装
设计一个自己IO包装类,需要继承以FilterXXX命名的类。
节点流是主要的流,过滤流是起装饰作用的,
经过过滤流装饰后的流具有主要流和装饰流的双重功能.
装饰模式!
节点流:从特定的地方读写的流类,例如:磁盘或一块内存区域。
过滤流:使用节点流作为输入或输出。过滤流是使用一个已经存在的输入流或输出流连接创建的。
装饰者模式:当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。那么自定义的该类成为装饰类。(扩展增强方法)
装饰类通常会通过构造方法接收被装饰的对象,并基于被装饰的对象的功能,提供更强功能。
异常详细信息
package ZHANG.IO;
import java.io.PrintWriter;
import java.io.StringWriter;
public class TestPrintWriter {
public static void main(String[] args) {
try {
throw new Exception("test exception");
} catch (Exception e) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
//System.out.println(sw.toString());
System.out.println(e.getMessage());
}
}
}