InputStreamReader是Java中用于读取字符流的类,它是InputStream和Reader的桥梁,将字节流转换为字符流。下面是InputStreamReader类的简单实现:
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()方法来关闭流,释放资源。