1. 程式人生 > >系統學習 Java IO (十一)----列印流 PrintStream

系統學習 Java IO (十一)----列印流 PrintStream

目錄:系統學習 Java IO---- 目錄,概覽

PrintStream 類可以將格式化資料寫入底層 OutputStream 。 PrintStream 類可以格式化基本型別,如int,long等格式化為文字,而不是其位元組值。 這就是為什麼它被稱為 PrintStream ,因為它將原始位元組格式化為文字 - 就像它們在列印到螢幕(或列印到紙張)時看起來一樣。

構造器
方法 描述
PrintStream(File file) 建立具有指定檔案且不帶自動行重新整理的新列印流。
PrintStream(File file, String csn) 建立具有指定檔名稱和 csn 字符集且不帶自動行重新整理的新列印流。
PrintStream(String fileName) 建立具有指定檔名稱且不帶自動行重新整理的新列印流。
PrintStream(String fileName, String csn) 參考上述
PrintStream(OutputStream out) 建立新的列印流。out - 將向其列印值和物件的輸出流
PrintStream(OutputStream out, boolean autoFlush) autoFlush - boolean 變數;如果為 true,則每當寫入 byte 陣列、呼叫其中一個 println 方法或寫入換行符或位元組 ( '\n') 時都會重新整理輸出緩衝區
PrintStream(OutputStream out, boolean autoFlush, String encoding) 同上,同時指定字符集
常見方法
方法 描述
void print(Xxx x) 可以列印指定型別的資料
PrintStream append(char c) 將指定字元新增到此輸出流。
PrintStream append(CharSequence csq, int start, int end) 新增指定字元序列,後兩個引數可選
PrintStream format(String format, Object... args) 使用指定格式字串和引數將格式化字串寫入此輸出流中。
println(Xxx x) 列印完,然後終止該行。
void write(int b) 將指定的位元組寫入此流。

PrintStream 方便的提供了過載的 print() 方法。
看一個例子:

        PrintStream printStream = new PrintStream(new FileOutputStream("D:\\test\\1.txt"));
        printStream.print(true);
        printStream.print(" print ");
        printStream.print((int)123);
        printStream.print('&');
        printStream.print((float) 123.456);
        printStream.close();

輸出結果為 true print 123&123.456

System.out 和 System.err 就是 PrintStreams

我們很熟悉這兩個眾所周知的 PrintStream 例項:System.out 和 System.err,所以我們早就在使用 PrintStream 了。

PrintStream 類包含強大的 format() 和 printf() 方法(它們完全相同,但 C 程式設計師更熟悉名稱“printf”)。 這些方法允許使用格式化字串以非常高階的方式混合文字和資料。如 System.out.format("Text + data: %d", 123); 其他高階用法可以查 JavaDoc 。

close()

用完要關閉,建議使用 try-with-resources 。