- java.lang.Object
 -  
      
- java.io.Reader
 -  
        
- java.io.InputStreamReader
 
 
 
-  
       
- 实现的所有接口
 -  
         
Closeable,AutoCloseable,Readable 
- 已知直接子类:
 -  
         
FileReader 
public class InputStreamReader extends Reader
InputStreamReader是从字节流到字符流的桥接器:它使用指定的charset读取字节并将其解码为字符。 它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。每次调用一个InputStreamReader的read()方法都可能导致从底层字节输入流中读取一个或多个字节。 为了实现字节到字符的有效转换,可以从基础流中提取比满足当前读取操作所需的更多字节。
为了获得最高效率,请考虑在BufferedReader中包装InputStreamReader。 例如:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));- 从以下版本开始:
 - 1.1
 - 另请参见:
 -  
         
BufferedReader,InputStream,Charset 
 
-  
        
       
-  
             
构造方法摘要
构造方法 构造器 描述 InputStreamReader(InputStream in)创建一个使用默认字符集的InputStreamReader。InputStreamReader(InputStream in, String charsetName)创建一个使用指定charset的InputStreamReader。InputStreamReader(InputStream in, Charset cs)创建一个使用给定charset的InputStreamReader。InputStreamReader(InputStream in, CharsetDecoder dec)创建一个使用给定charset解码器的InputStreamReader。 
-  
             
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 StringgetEncoding()返回此流使用的字符编码的名称。intread()读一个字符。intread(char[] cbuf, int offset, int length)将字符读入数组的一部分。booleanready()判断此流是否可以读取。-  
               
声明方法的类 java.io.Reader
close, mark, markSupported, nullReader, read, read, reset, skip, transferTo 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
构造方法详细信息
-  
InputStreamReader
public InputStreamReader(InputStream in)
创建一个使用默认字符集的InputStreamReader。- 参数
 -  
              
in- InputStream 
 
-  
InputStreamReader
public InputStreamReader(InputStream in, String charsetName) throws UnsupportedEncodingException
创建一个使用指定charset的InputStreamReader。- 参数
 -  
              
in- InputStream -  
              
charsetName- 支持的charset的名称 - 异常
 -  
              
UnsupportedEncodingException- 如果不支持指定的charset 
 
-  
InputStreamReader
public InputStreamReader(InputStream in, Charset cs)
创建一个使用给定charset的InputStreamReader。- 参数
 -  
              
in- InputStream -  
              
cs- 一个字符集 - 从以下版本开始:
 - 1.4
 
 
-  
InputStreamReader
public InputStreamReader(InputStream in, CharsetDecoder dec)
创建一个使用给定charset解码器的InputStreamReader。- 参数
 -  
              
in- InputStream -  
              
dec- 字符集解码器 - 从以下版本开始:
 - 1.4
 
 
 -  
 
-  
             
方法详细信息
-  
getEncoding
public String getEncoding()
返回此流使用的字符编码的名称。如果编码具有历史名称,则返回该名称; 否则返回编码的规范名称。
如果使用
InputStreamReader(InputStream, String)构造函数创建此实例,则返回的名称(对于编码而言是唯一的)可能与传递给构造函数的名称不同。 如果流已关闭,此方法将返回null。- 结果
 - 
               此编码的历史名称,如果流已关闭, 
              
null - 另请参见:
 -  
              
Charset 
 
-  
read
public int read() throws IOException读一个字符。- 重写:
 -  
              
read类,Reader - 结果
 - 字符读取,如果已到达流的末尾,则返回-1
 - 异常
 -  
              
IOException- 如果发生I / O错误 
 
-  
read
public int read(char[] cbuf, int offset, int length) throws IOException将字符读入数组的一部分。- Specified by:
 -  
              
read类,Reader - 参数
 -  
              
cbuf- 目标缓冲区 -  
              
offset- 开始存储字符的偏移量 -  
              
length- 要读取的最大字符数 - 结果
 - 读取的字符数,如果已到达流的末尾,则返回-1
 - 异常
 -  
              
IOException- 如果发生I / O错误 -  
              
IndexOutOfBoundsException- 如果发生I / O错误 
 
-  
ready
public boolean ready() throws IOException判断此流是否可以读取。 如果输入缓冲区不为空,或者可以从基础字节流中读取字节,则InputStreamReader就绪。- 重写:
 -  
              
ready在课程Reader - 结果
 - 如果保证下一个read()不阻止输入,则返回true,否则返回false。 请注意,返回false并不能保证下一次读取将被阻止。
 - 异常
 -  
              
IOException- 如果发生I / O错误 
 
 -  
 
 -