为什么要先创建Fileinputstream对象,然后把对象添加到InputStreamReader创建新对象
如果你有下载源码的话 你按住 ctrl+鼠标左键 就能查看源码了
InputStreamReader 里面有几个构造函数
public InputStreamReader(InputStream in){}
public InputStreamReader(InputStream in, String charsetName){}
public InputStreamReader(InputStream in, Charset cs){}
只有这三个 所以当然要...你说的那个
要创建一个实例对象,当然要使用构造函数,所以必须传入 FileInputStream的对象 你可以直接
InputStreamReader isr=new InputStreamReader(new FileputStream("e:\\javaio\\imooc.txt"));
其实java中很多类都是新定义,应用了一些比较简单的类,比如冒泡排序法,字母大小写转化,写成全新的类就可以很方便使用了.
FileInputStream 是字节流读取
FileInputStreamReader 是将字节流转换成字符流读取
如果对方传来字节流你直接当做字符流接收会报错的,这个是把接受的字节流转换成字符流
楼上正解