InputStreamReader是Java中用于读取字符流的类,它是InputStream和Reader的桥梁,将字节流转换为字符流。下面是InputStreamReader类的简单实现:
```java
import java.io.*;
public class InputStreamReaderDemo {
public static void main(String[] args) {
try {
// 创建一个字节流
FileInputStream fis = new FileInputStream("input.txt");
// 创建一个字符流,并将字节流转换为字符流
InputStreamReader isr = new InputStreamReader(fis);
// 创建一个缓冲字符流
BufferedReader br = new BufferedReader(isr);
// 读取文件内容并打印
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
// 关闭流
br.close();
isr.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,首先创建了一个字节流FileInputStream,然后将它传递给InputStreamReader构造方法,创建一个字符流InputStreamReader。
接下来,创建了一个缓冲字符流BufferedReader,将InputStreamReader作为参数传递给它的构造方法。
最后,通过调用BufferedReader的readLine()方法,逐行读取文件内容并打印。
最后,需要注意的是,在使用完InputStreamReader和FileInputStream之后,需要调用对应的close()方法来关闭流,释放资源。