系統學習 Java IO (十一)----列印流 PrintStream
阿新 • • 發佈:2018-11-24
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 。