Java PrintStream


PrintStream類是輸出流的具體裝飾器。PrintStream可以以合適的格式列印任何資料型別值,基本資訊或物件。PrintStream可以將資料寫入輸出流而不用丟擲IOException

如果方法丟擲一個IOExceptionPrintStream,要設定一個內部標誌,而不是丟擲異常給呼叫者。可以使用其checkError()方法檢查該標誌,如果在方法執行期間發生IOException,則返回true

PrintStream具有自動重新整理功能。可以在其建構函式中指定應該自動重新整理寫入它的內容。如果將auto-flush標誌設定為true,當寫入一個位元組陣列時,PrintStream將重新整理它的內容,它的一個過載的println()方法用於寫入資料,有一個換行符或一個位元組(‘\n‘)寫入。

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class Main {
  public static void main(String[] args) {
    String destFile = "destFile.txt";

    try (PrintStream ps = new PrintStream(destFile)) {
      ps.println("test");
      ps.println("test1");
      ps.println("test2");
      ps.print("test3");

      // flush the print stream
      ps.flush();

      System.out.println("Text has  been  written to "
          + (new File(destFile).getAbsolutePath()));
    } catch (FileNotFoundException e1) {
      e1.printStackTrace();
    }
  }
}

上面的程式碼生成以下結果。

Text has  been  written to F:\website\yiibai\worksp\destFile.txt