/* BufferedReader InputStreamReader 转换流 */ import java.io.*; public class BufferedReaderTest02 { public static void main(String[] args) throws Exception{ /* //创建带有缓冲区的字符输入流 FileInputStream fis = new FileInputStream("BufferedReaderTest02.java"); //文件字节输入流 //转换流(将字节流转换成字符流) InputStreamReader isr = new InputStreamReader(fis); //isr是字符流 BufferedReader br = new BufferedReader(isr); */ BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("BufferedReaderTest02.java"))); //开始读 String temp = null; while((temp=br.readLine())!=null){ System.out.println(temp); } //关闭,关闭最外层的流即可. (装饰者模式) br.close(); } }
InputStreamReader和FileReader的区别:
InputStreamReader是输入字节到字符的转换流,所以其构造方法的参数必须是InputStream类型的,并且可以在构造方法中重新指定编码的方式; InputStreamReader是FileReader的父类;
FileReader是便捷类,构造器的参数可以是文件的路径字符串,也可以是File类;不需要new 一个 InputStream作为参数。
FileReader:
InputStreamReader:
时间: 2024-10-07 06:08:36