Java InputStreamReader

1 什么是Java InputStreamReader

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

2 Java InputStreamReader的构造方法

构造方法 描述
InputStreamReader(InputStream in) 创建一个使用默认字符集的InputStreamReader。
InputStreamReader(InputStream in, Charset cs) 创建一个使用给定字符集的InputStreamReader。
InputStreamReader(InputStream in, CharsetDecoder dec) 创建一个使用给定字符集解码器的InputStreamReader。
InputStreamReader(InputStream in, String charsetName) 创建一个使用命名字符集的InputStreamReader。

3 Java InputStreamReader的方法

修饰符 方法 描述
void close() 关闭流并释放与其关联的所有系统资源。
String getEncoding() 返回此流使用的字符编码的名称。
int read() 读取一个字符。
int read(char[] cbuf, int offset, int length) 将字符读入数组的一部分。
boolean ready() 告诉此流是否已准备好被读取。

4 Java InputStreamReader的例子

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
import java.io.*;

/**
 *  Java InputStreamReader的例子
 */
public class Demo {
    public static void main(String[] args) {
        try  {
            InputStream stream = new FileInputStream("file.txt");
            Reader reader = new InputStreamReader(stream);
            int data = reader.read();
            while (data != -1) {
                System.out.print((char) data);
                data = reader.read();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

file.txt的内容为:

l love my country

程序输出结果为:

l love my country

 

热门文章

优秀文章