打印流

为了解决输出数据时的功能不足,所以在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类的方法完成的,这样的设计模式,成为装饰设计模式:将一个功能不足的操作类,通过某些类的包装,形成更好的工具类。
范例:打印流

import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;

/**
 * @author liuwq
 * 打印流
 */
public class PrintStreamTest {
    public static void main(String[] args) throws Exception {
        PrintStream ps = new PrintStream(new FileOutputStream(new File(
                "D:" + File.separator + "Document" + File.separator + "Document" + File.separator + "test1.txt")));
        ps.print("Hello ");
        ps.println("World ");
        ps.print(1 + 1);
        ps.println();
        ps.println(1 + 1 + 1);
        ps.close();
    }
}

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

你可能感兴趣的:(打印流)