A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 杨兴庭 于 2013-7-23 16:48 编辑

filereader和fileinputstreamreader 有联系和区别呢?我不太懂

评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3 赞一个!

查看全部评分

5 个回复

倒序浏览
FileReader是字符读取流,只能操作文本
FileInputStream 是字节输入流,是不仅可以操作文本,还可操作如图片、视频、音频等
InputStreamReader 是读取转换流,它是字节流通向字符流的桥梁。
至于FileInputStreamReader我好像没见过
同学,要注意大小写哦

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报 1 0
FileReader 用于读取字符流。

FileReader 一般用法:
FileReader fr = new FileReader("ming.txt");
   char[] buffer = new char[1024];
   int ch = 0;
   while((ch = fr.read())!=-1 )
   {
    System.out.print((char)ch);
   }


InputStreamReader 是字节流通向字符流的桥梁,也就是转换流,将字节流转成字符流。

InputStreamReader 的一般用法:
InputStreamReader isr = new InputStreamReader(new FileInputStream("ming.txt"));
   while((ch = isr.read())!=-1)
   {
    System.out.print((char)ch);
   }


FileReader与它的父类 InputStreamReader 的主要不同在于构造函数,主要区别也就在于构造函数!从 InputStreamReader 的构造函数中看到,参数为 InputStream 和编码方式,可以看出

,当要指定编码方式时,必须使用 InputStreamReader 类;而 FileReader 构造函数的参数与 FileInputStream 同,为 File 对象或表示 path 的 String

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
FileReader类用于字符文件的输入;
好像没有出现过FileInputStreamReader
回复 使用道具 举报
好像没有fileinputstreamrender这个类吧。文件操作的有FileReader和FileInputStream这两个类。他们都能直接操作文件,但FileReader读取出来的数据是字符形式,而FileInputStream读取出来的数据是二进制形式。
回复 使用道具 举报
前者是入口,后者要使用这个入口。
即,后者不能直接去读文件,前者可以直接读文件。
前者是节点流,后者是过滤流。
过滤流必须以已经存在的流为端点构造输入/输出流。所以后者以前者为端点构造输入流。

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马