JAVA中常用IO流类:InputStreamReader和OutputStreamWriter

来源:互联网 发布:淘宝搬家到微店怎么弄 编辑:程序博客网 时间:2024/04/28 17:08

 InputStreamReader

可封装字节输入流比从读取字节数据,然后将之转换为字符

转换时所使用的字符编码可以在构造方法中显式指定,也可以使用平台的默认编码。

 

为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。例如:

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

以上为JAVA中常用的从键盘获取输入的方式。

构造方法摘要InputStreamReader(InputStream in) 
          创建一个使用默认字符集的 InputStreamReader。InputStreamReader(InputStream in, Charset cs) 
          创建使用给定字符集的 InputStreamReader。InputStreamReader(InputStream in, CharsetDecoder dec) 
          创建使用给定字符集解码器的 InputStreamReader。InputStreamReader(InputStream in, String charsetName) 
          创建使用指定字符集的 InputStreamReader。 方法摘要 voidclose() 
          关闭该流并释放与之关联的所有资源。 StringgetEncoding() 
          返回此流使用的字符编码的名称。 intread() 
          读取单个字符。 intread(char[] cbuf, int offset, int length) 
          将字符读入数组中的某一部分。 booleanready() 
          判断此流是否已经准备好用于读取。

OutputStreamWriter与InputStreamReader对应,OutputStreamWriter可按照特定的字符编码规则把字符并写到它所封装的字节输出流。

 

构造方法摘要

OutputStreamWriter(OutputStream out) 
          创建使用默认字符编码的 OutputStreamWriter。

OutputStreamWriter(OutputStream out, Charset cs) 
          创建使用给定字符集的 OutputStreamWriter。

OutputStreamWriter(OutputStream out, CharsetEncoder enc) 
          创建使用给定字符集编码器的 OutputStreamWriter。

OutputStreamWriter(OutputStream out, String charsetName) 
          创建使用指定字符集的 OutputStreamWriter。

 

方法摘要 voidclose() 
          关闭此流,但要先刷新它。 voidflush() 
          刷新该流的缓冲。 StringgetEncoding() 
          返回此流使用的字符编码的名称。 voidwrite(char[] cbuf, int off, int len) 
          写入字符数组的某一部分。 voidwrite(int c) 
          写入单个字符。 voidwrite(String str, int off, int len) 
          写入字符串的某一部分。