1. 程式人生 > 實用技巧 >java IO流:列印流 PrintStream

java IO流:列印流 PrintStream

列印流 PrintStream

  • PrintStream extends FilterOutputStream

  • PrintStream 為其他輸出流添加了功能,使它們能夠方便地列印各種資料值表示形式

  • 特點:

    • 只負責資料的輸出,不負責資料的讀取
    • 與其他輸出流不同,PrintStream 永遠不會丟擲 IOException,但是會丟擲FileNotFoundException
    • 有特有的方法:print,println
  • 注意:如果使用繼承自父類的write方法寫資料,那麼檢視資料的時候會查詢編碼表 97-->a

    如果使用自己特有的方法print/println方法寫資料,寫的資料原樣輸出 97-->97

構造方法

  • PrintStream(File file) :輸出的目的地時一個檔案
  • PrintStream(OutputStream out) :輸出的目的地是一個位元組輸出流
  • PrintStream(String fileName) :輸出的目的地是一個檔案路徑
public class Demo02 {
    public static void main(String[] args) throws FileNotFoundException {
        PrintStream ps=new PrintStream("D:\\document\\code\\xuexi\\java\\aaa\\a.txt");
        ps.println(99);
        ps.print(1.01);
        ps.print("你好");
        ps.print(true);
        ps.close();//可以輸出任何型別資料的流
    }
}
//a.txt:
//99
//1.01你好true

改變列印流向

  • 可以改變輸出語句的目的地(改變列印流向)
  • 使用System.setOut方法改變輸出語句的目的地改為引數值傳遞的列印流的目的地
    • static void setOut(PrintStream out) :重新分配“標準”輸出流。
public class Demo02 {
    public static void main(String[] args) throws FileNotFoundException {
        System.out.println("我是在控制檯輸出");//控制檯直接輸出:我是在控制檯輸出
        PrintStream ps=new PrintStream("D:\\document\\code\\xuexi\\java\\aaa\\a.txt");
        System.setOut(ps);//設定系統的列印流流向,輸出到a.txt
        System.out.println("我在列印流的目的地中輸出");
        ps.close();
    }
}
//a.txt
//我在列印流的目的地中輸出