W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
java.lang.Object
|---java.io.Reader
|---|---java.io.InputStreamReader
public class InputStreamReader
extends Reader
InputStreamReader 是從字節(jié)流到字符流的橋梁:它讀取字節(jié)并使用指定的字符集將它們解碼為字符。 它使用的字符集可以由名稱指定,也可以顯式給出,或者可以接受平臺的默認字符集。
InputStreamReader 的 read() 方法之一的每次調(diào)用都可能導(dǎo)致從底層字節(jié)輸入流中讀取一個或多個字節(jié)。 為了實現(xiàn)字節(jié)到字符的有效轉(zhuǎn)換,可以從底層流中預(yù)先讀取比滿足當(dāng)前讀取操作所需的更多的字節(jié)。
為了獲得最高效率,請考慮將 InputStreamReader 包裝在 BufferedReader 中。 例如:
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
Since:
JDK1.1
從類 java.io.Reader 繼承的字段 |
---|
lock |
構(gòu)造函數(shù) | 描述 |
---|---|
InputStreamReader(InputStream in) | 創(chuàng)建一個使用默認字符集的 InputStreamReader。 |
InputStreamReader(InputStream in, String charsetName) | 創(chuàng)建一個使用命名字符集的 InputStreamReader。 |
InputStreamReader(InputStream in, Charset cs) | 創(chuàng)建一個使用給定字符集的 InputStreamReader。 |
InputStreamReader(InputStream in, CharsetDecoder dec) | 創(chuàng)建一個使用給定字符集解碼器的 InputStreamReader。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
void | close() | 關(guān)閉流并釋放與其關(guān)聯(lián)的任何系統(tǒng)資源。 |
String | getEncoding() | 返回此流使用的字符編碼的名稱。 |
int | read() | 讀取單個字符。 |
int | read(char[] cbuf, int offset, int length) | 將字符讀入數(shù)組的一部分。 |
boolean | ready() | 告訴這個流是否準備好被讀取。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
從類 java.io.Reader 繼承的方法 |
---|
mark, markSupported, read, read, reset, skip |
public InputStreamReader(InputStream in)
創(chuàng)建一個使用默認字符集的 InputStreamReader。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
in | 輸入流 |
public InputStreamReader(InputStream in, String charsetName) throws UnsupportedEncodingException
創(chuàng)建一個使用命名字符集的 InputStreamReader。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
in | 輸入流 |
charsetName | 支持的字符集的名稱 |
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedEncodingException | 如果不支持命名字符集 |
public InputStreamReader(InputStream in, Charset cs)
創(chuàng)建一個使用給定字符集的 InputStreamReader。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
in | 輸入流 |
cs | 一個字符集 |
Since:
1.4
public InputStreamReader(InputStream in, CharsetDecoder dec)
創(chuàng)建一個使用給定字符集解碼器的 InputStreamReader。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
in | 輸入流 |
dec | 一個字符集解碼器 |
Since:
1.4
public String getEncoding()
返回此流使用的字符編碼的名稱。
如果編碼具有歷史名稱,則返回該名稱; 否則返回編碼的規(guī)范名稱。
如果此實例是使用 InputStreamReader(java.io.InputStream,java.lang.String) 構(gòu)造函數(shù)創(chuàng)建的,則返回的名稱(對于編碼而言是唯一的)可能與傳遞給構(gòu)造函數(shù)的名稱不同。 如果流已關(guān)閉,此方法將返回 null。
返回:
此編碼的歷史名稱,如果流已關(guān)閉,則為 null
public int read() throws IOException
讀取單個字符。
覆蓋:
read in class Reader
返回:
讀取的字符,如果已到達流的末尾,則為 -1
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
public int read(char[] cbuf, int offset, int length) throws IOException
將字符讀入數(shù)組的一部分。
指定者:
read in class Reader
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
cbuf | 目標緩沖區(qū) |
offset | 開始存儲字符的偏移量 |
length | 要讀取的最大字符數(shù) |
返回:
讀取的字符數(shù),如果已到達流的末尾,則為 -1
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
public boolean ready() throws IOException
告訴這個流是否準備好被讀取。 如果 InputStreamReader 的輸入緩沖區(qū)不為空,或者可以從底層字節(jié)流中讀取字節(jié),則 InputStreamReader 已準備就緒。
覆蓋:
ready in class Reader
返回:
如果保證下一個 read() 不會阻塞輸入,則為 true,否則為 false。 請注意,返回 false 并不能保證下一次讀取將阻塞。
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
public void close() throws IOException
從類復(fù)制的描述:Reader
關(guān)閉流并釋放與其關(guān)聯(lián)的任何系統(tǒng)資源。 關(guān)閉流后,進一步的 read()、ready()、mark()、reset() 或 skip() 調(diào)用將引發(fā) IOException。 關(guān)閉以前關(guān)閉的流沒有效果。
指定者:
在接口 AutoCloseable 中關(guān)閉
指定者:
在接口Closeable中關(guān)閉
指定者:
close in class Reader
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: