Most visited

Recently visited

Added in API level 1

InputStreamReader

public class InputStreamReader
extends Reader

java.lang.Object
   ↳ java.io.Reader
     ↳ java.io.InputStreamReader
Known Direct Subclasses


InputStreamReader是从字节流到字符流的桥梁:它使用指定的charset读取字节并将它们解码为字符。 它使用的字符集可以用名字指定,也可以明确给出,或者可以接受平台的默认字符集。

对InputStreamReader的read()方法之一的每次调用都可能导致从底层字节输入流中读取一个或多个字节。 为了能够有效地将字节转换为字符,可以从基础流中读取比满足当前读取操作所需的字节更多的字节。

为获得最高效率,请考虑在BufferedReader中包装InputStreamReader。 例如:

 BufferedReader in
   = new BufferedReader(new InputStreamReader(System.in));
 

也可以看看:

Summary

Inherited fields

From class java.io.Reader

Public constructors

InputStreamReader(InputStream in)

创建一个使用默认字符集的InputStreamReader。

InputStreamReader(InputStream in, String charsetName)

创建一个使用指定字符集的InputStreamReader。

InputStreamReader(InputStream in, Charset cs)

创建一个使用给定字符集的InputStreamReader。

InputStreamReader(InputStream in, CharsetDecoder dec)

创建一个使用给定字符集解码器的InputStreamReader。

Public methods

void close()

关闭流并释放与其关联的所有系统资源。

String getEncoding()

返回此流使用的字符编码的名称。

int read()

读取一个字符。

int read(char[] cbuf, int offset, int length)

将字符读入数组的一部分。

boolean ready()

告诉这个流是否准备好被读取。

Inherited methods

From class java.io.Reader
From class java.lang.Object
From interface java.lang.Readable
From interface java.io.Closeable
From interface java.lang.AutoCloseable

Public constructors

InputStreamReader

Added in API level 1
InputStreamReader (InputStream in)

创建一个使用默认字符集的InputStreamReader。

Parameters
in InputStream: An InputStream

InputStreamReader

Added in API level 1
InputStreamReader (InputStream in, 
                String charsetName)

创建一个使用指定字符集的InputStreamReader。

Parameters
in InputStream: An InputStream
charsetName String: The name of a supported charset
Throws
UnsupportedEncodingException If the named charset is not supported

InputStreamReader

Added in API level 1
InputStreamReader (InputStream in, 
                Charset cs)

创建一个使用给定字符集的InputStreamReader。

Parameters
in InputStream: An InputStream
cs Charset: A charset

InputStreamReader

Added in API level 1
InputStreamReader (InputStream in, 
                CharsetDecoder dec)

创建一个使用给定字符集解码器的InputStreamReader。

Parameters
in InputStream: An InputStream
dec CharsetDecoder: A charset decoder

Public methods

close

Added in API level 1
void close ()

关闭流并释放与其关联的所有系统资源。 一旦流被关闭,read(),ready(),mark(),reset()或skip()调用将会抛出一个IOException异常。 关闭以前关闭的流不起作用。

Throws
IOException

getEncoding

Added in API level 1
String getEncoding ()

返回此流使用的字符编码的名称。

如果编码具有历史名称,则返回该名称; 否则返回编码的规范名称。

如果此实例是使用InputStreamReader(InputStream, String)构造函数创建的,则返回的名称(对编码唯一)可能与传递给构造函数的名称不同。 如果流已关闭,此方法将返回null

Returns
String The historical name of this encoding, or null if the stream has been closed

也可以看看:

read

Added in API level 1
int read ()

读取一个字符。

Returns
int The character read, or -1 if the end of the stream has been reached
Throws
IOException If an I/O error occurs

read

Added in API level 1
int read (char[] cbuf, 
                int offset, 
                int length)

将字符读入数组的一部分。

Parameters
cbuf char: Destination buffer
offset int: Offset at which to start storing characters
length int: Maximum number of characters to read
Returns
int The number of characters read, or -1 if the end of the stream has been reached
Throws
IOException If an I/O error occurs

ready

Added in API level 1
boolean ready ()

告诉这个流是否准备好被读取。 如果InputStreamReader的输入缓冲区不为空,或者可以从底层字节流中读取字节,则InputStreamReader已准备就绪。

Returns
boolean True if the next read() is guaranteed not to block for input, false otherwise. Note that returning false does not guarantee that the next read will block.
Throws
IOException If an I/O error occurs

Hooray!