Java InputStreamReader
精华
小牛编辑
94浏览
2023-03-14
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 cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
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