public class InputStreamReader
extends Reader
InputStreamReader 是字節流通向字符流的橋樑:它使用指定的 charset 讀取字節並將其解碼爲字符。它使用的字符集可以由名稱指定或顯式給定,或者可以接受平臺默認的字符集。每次調用 InputStreamReader 中的一個 read() 方法都會導致從底層輸入流讀取一個或多個字節。要啓用從字節到字符的有效轉換,可以提前從底層流讀取更多的字節,使其超過滿足當前讀取操作所需的字節。爲了達到最高效率,可要考慮在 BufferedReader 內包裝 InputStreamReader。例如:
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
InputStreamReader(InputStream in) | 創建一個使用默認字符集的 InputStreamReader。 |
InputStreamReader(InputStream in, Charset cs) | 創建使用給定字符集的 InputStreamReader。 |
InputStreamReader(InputStream in, CharsetDecoder dec) | 創建使用給定字符集解碼器的 InputStreamReader。 |
InputStreamReader(InputStream in, String charsetName) | 創建使用指定字符集的 InputStreamReader。 |
void close( ) | 關閉該流並釋放與之關聯的所有資源。 |
int read(char[ ] cbuf, int offset, int length) | 將字符讀入數組中的某一部分。 |
int read( ) | 讀取單個字符。 |
String getEncoding() | 返回此流使用的字符編碼的名稱。 如果該編碼有歷史上用過的名稱,則返回該名稱;否則返回該編碼的規範化名稱。 |
boolean ready( ) | 判斷此流是否已經準備好用於讀取。 |