开发者学堂课程【Java 高级编程:打印流】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/329
打印流
目录:
1.打印流设计思想
2.装饰设计模式
3.数据输出
4.格式化输出
1.打印流设计思想
若要通过程序实现内容的输出,核心的本质一定要依靠 OutputStream 类完成,但OutputStream 类有一个最大的缺点,这个类中的数据输出操作功能有限: public void write(byte[] b)Ithrows IOExcept ion。
所有的数据一定要转为字节数组后才可以输出,假设现在项目里面可能输出的是long、double、Date,在这样的情况下就必须将这些数据变为字节的形式来处理,这样的处理十分麻烦,因此在开发之中最初的时候为了解决此类的重复操作,往往会由开发者自行定义一些功能以简化输出过程。
范例:打印流设计思想
在整个的操作过程之中打印流的设计思想的本质在于:提高已有类的功能,
例如: OutputStream 是唯一可以实现输出的操作标准类,应该以其为核心根本,但这个类输出的操作功能有限,所以不方便进行输出各个数据类型,因此要为它做出一层包装。
此时采用的设计思想就是“ 装饰设计模式”。
2.装饰设计模式
既然所有的开发者都已发现原始的 OutputStream 功能的不足,设计者也一定可以发现,所以为了解决输出问题,在 java.io 包里面提供有打印流: PrintStream、 PrintWriter。
PrintStream:public class PrintStream
extends FilterOutputStream
implements Appenndable Closeable
Public PrintStream(OutputStream out)
3.数据输出
使用 PrintWriter 来实现数据的输出操作
范例:
4.格式化输出
从 JDK 1.5 开始 PrintWriter 类里面追加有格式化输出的操作支持:public PrintWriter printf (String format,0bject... args)
范例:
比起直接使用 OutputStream 类,使用 PrintWriter、 PrintStream 类的处理操作会更加的简单。
只要是程序进行内容输出的时候全部使用打印流。




