黑马程序员技术交流社区
标题:
关于FileReader和InputStreamReader的疑问(求技术分)
[打印本页]
作者:
李会成
时间:
2013-1-30 13:53
标题:
关于FileReader和InputStreamReader的疑问(求技术分)
本帖最后由 张向辉 于 2013-2-6 15:21 编辑
今天看毕老师的IO视频,讲到FileReader中的read方法
返回int型数据
。
但同时又看到InputStream已经将read方法覆写了,而且本身InputStreamReader很清楚是字节流转化为字符流的转换流。
做了下试验,FileReader和InputStreamReader均返回字节流数据。请问
字节流转化为字符流转换主要体现在哪里
?
注:println()接受并显示Char数据。
试验代码和图如下:
import java.io.File;
import java.io.FileReader;
public class cw {
public static void main(String[] args) throws Exception {
/*InputStreamReader x=new InputStreamReader(System.in);
System.out.println(x.read());*/
FileReader x= new FileReader("D:"+File.separator+"java"+File.separator+"hello.java");
System.out.println(x.read());
}
}
复制代码
作者:
陈科宇
时间:
2013-2-5 06:15
我要纠正一下,FileReader和InputStreamReader返回的是字符流数据。我们通常把处理字符流的IO类成为包装类。其实字符流和字节流的区别并不大,操作方式也几乎没什么差别。但有一点,字符流更符合人类的思维习惯,我们读取的每一个字符对我们来说有确定含义。而字节流,以字节为单位,单个字节,如(char)占两个字节,你读取到其中一个字节,根本没有实际话的意义,但对于计算机底层的I/O流,就是以字节为单位的,所以没有必要为此纠结。具体怎么包装的,可能就要看源码了,不过从数学的角度,也就是数据单元的倍数关系而已。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2