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


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

PrintStream 類可以將格式化數據寫入底層 OutputStream 或者直接寫入 File 對象。 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()

用完要關閉,關閉 PrintStream 系統會同時關閉對應的包裝流,如上例,不需要單獨關閉 FileOutputStream 。建議使用 try-with-resources 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM