打印流2(装饰设计模式应用)

在打印流1中,为了解决输出数据时的功能不足,我们自己写了工具类,其实Java.io包里面有提供一套专门的用于输出数据的类:PrintStream(打印字节流),PrintWriter(打印字符流)。
以PrintStream类为例,观察一下这个类的继承结构与构造方法。

继承结构:
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.io.PrintStream

构造方法:
public PrintStream(OutputStream out);

在PrintStream类里面提供有一系列的print,println方法,这些方法支持了PrintStream,那么就不会去使用write方法。

但是整个操作过程之中,虽然操作形式不同,但是本质仍然是基于OutputStream完成,这样的设计,我们称之为装饰设计模式:相当于将功能不足的操作类,通过某些类的包装,形成更好的工具类。

PrintStream pw=new PrintStream(new FileOutputStream(new File(XXXX.txt)));
pw.print("hello");
pw.println("world!");
pw.close();

以后的开发过程之中,只要是由程序输出内容,都会采用打印流的模式,需要OutputStream的支持。

猜你喜欢

转载自blog.csdn.net/weixin_33711647/article/details/87040379