功能簡介 PrintStream 為其他輸出流添加了功能,使它們能夠方便地列印各種數據值表示形式 裝飾器模式中具體的裝飾類 它提供的功能就是便捷的列印各種數據形式 FilterInputStream為裝飾器模式中的抽象角色 簡言之,PrintStream可以快捷的列印輸出各種類型的數據 PrintS ...
功能簡介
PrintStream 為其他輸出流添加了功能,使它們能夠方便地列印各種數據值表示形式
裝飾器模式中具體的裝飾類
它提供的功能就是便捷的列印各種數據形式
FilterInputStream為裝飾器模式中的抽象角色 |
簡言之,PrintStream可以快捷的列印輸出各種類型的數據 |
autoFlush是否自動刷新的標誌位 所謂自動刷新,就是每次調用方法後,看下標誌位,如果設置了,那麼調用一下out.flush() 比如下麵這段代碼 |
所以,為了自動刷新,可以創建一個 PrintStream 這幾種場景下自動刷新(如果是true) |
PrintStream 永遠不會拋出 IOException 通過代碼可以看得出來 內部維護了一個trouble標誌位 發生了IOException異常時,捕捉後轉換為trouble=true 可以通過checkError()方法進行返回 |
write方法
write(int) write(byte[], int, int) 說到這,write基本不用介紹了,代碼上面一段也已經貼出來 增加了自動刷新的功能,並且還不會拋出異常 |
println() | 通過寫入行分隔符字元串終止當前行。行分隔符字元串由系統屬性 line.separator 定義,不一定是單個換行符 ('\n') |
print(boolean) | String.valueOf(boolean)生成字元串轉換為位元組 以 write(int) 方法的方式寫入這些位元組 |
+println() = println(boolean) |
print(char) | 字元轉換為一個或多個位元組 以 write(int) 方法的方式寫入這些位元組 | +println() = println(char) |
print(int) | String.valueOf(int)生成字元串轉換為位元組 以 write(int) 方法的方式寫入這些位元組 | +println() = println(int) |
print(long) | String.valueOf(long)生成字元串轉換為位元組 以 write(int) 方法的方式寫入這些位元組 | +println() = println(long) |
print(float) | String.valueOf(float)生成字元串轉換為位元組 以 write(int) 方法的方式寫入這些位元組 | +println() = println(float) |
print(double) | String.valueOf(double)生成字元串轉換為位元組 以 write(int) 方法的方式寫入這些位元組 | +println() = println(double) |
print(char[]) | 字元轉換為位元組 以 write(int) 方法的方式寫入這些位元組 | +println() = println(char[]) |
print(String) | 如果參數為 null,則列印字元串 "null" 否則轉換為位元組 以 write(int) 方法的方式寫入這些位元組 | +println() = println(String) |
print(Object) | String.valueOf(Object)生成字元串轉換為位元組 以 write(int) 方法的方式寫入這些位元組 | 不存在print(Object) +println()的情況 println(Object)==先調用 String.valueOf(x) 獲取字元串值,然後再 print(String)+ println() |
print將會把數據轉換為他們的字元串形式,然後轉換為位元組,然後在將位元組寫入 |
print 與println結合 可以變成println的形式 從代碼也可以很直白的看出來,調用之後,然後newLine() 不過需要註意的是print(Object) 他是特例 |
append(char) | 將指定字元添加到此輸出流。 調用此方法的 out.append(c) 形式,行為與以下調用完全相同:out.print(c) 最後加一個跟寫一個顯然沒什麼不同 |
append(CharSequence) | 將指定字元序列添加到此輸出流 |
append(CharSequence, int, int) | 將指定字元序列的子序列添加到此輸出流 |