打印流
打印流是輸出信息最方便的類,注意包含字節打印流:PrintStream和字符打印流:PrintWriter。
打印流提供了非常方便的打印功能,可以打印任何類型的數據信息,例如:小數,整數,字符串。
回顧:
之前打印信息需要使用OutputStream但是這樣,所有數據輸出會非常麻煩,String-->byte[],打印流中可以方便進行輸出,
打印流好處
通過定義的構造方法可以發現,有一個構造方法可以直接接收OutputStream類的實例,與OutputStream相比起來,PrintStream可以更方便的輸出數據,相當於把OutputStream類重新包裝了一下,使之輸出更方便。
格式化輸出
JAVA對PrintStream功能進行了擴充,增加了格式化輸出功能。直接使用Print即可。但是輸出的時候需要指定輸出的數據類型。
打印流:PrintStream 和PrintWriter
- 實現將基本數據類型的數據格式轉化為字符串輸出。
說明:
- 提供了一系列重載的print()和println()方法,用於多種數據類型的輸出。
- PrintStream和PrintWriter的輸出不會拋出IOException異常。
- PrintStream和PrintWriter有自動flush功能。
- PrintStream 打印的所有字符都使用平台的默認字符編碼轉換為字節。 在需要寫入字符而不是寫入字節的情況下,應該使用 PrintWriter 類。
- System.out返回的是PrintStream的實例。
示例代碼:
public void test2() {
PrintStream ps = null;
try { FileOutputStream fos = new FileOutputStream(new File("D:\\cai\\a.txt")); // 創建打印輸出流,設置為自動刷新模式(寫入換行符或字節 '\n' 時都會刷新輸出緩沖區) ps = new PrintStream(fos, true);
if (ps != null) {// 把標准輸出流(控制台輸出)改成文件 System.setOut(ps); }
for (int i = 0; i <= 255; i++) { // 輸出ASCII字符 System.out.print((char) i); if (i % 50 == 0) { // 每50個數據一行 System.out.println(); // 換行 } }
} catch (FileNotFoundException e) { e.printStackTrace();
} finally { if (ps != null) { ps.close(); } } }