黑马程序员技术交流社区

标题: [已解决]io里的Reader中的read方法为什么返回int型 [打印本页]

作者: 于紫洋    时间: 2012-3-10 12:55
标题: [已解决]io里的Reader中的read方法为什么返回int型
本帖最后由 于紫洋 于 2012-3-10 14:33 编辑

学习IO流的问题
读文件用的是Reader中的read方法,为什么返回的int型不是字符型?
然后输出的时候把int转成char型

虽然API里写的就是返回的就是int型,不过为什么不直接返回char型呢


补充:返回的int是字节码么?
作者: 冯旭君    时间: 2012-3-10 13:10
为什么要返回char型呢?read方法,是把读入的数据,放到了字节数组里面了。并不是你想的把返回值给你char类型的变量。还有即使是从返回值中得到数据,也会是char类型的。至少是char[]类型的。

Reader是一个“通用”类,你并不知道你读入的数据是字符类型,还是其他类型的。只能读入到字节数组中,然后转换成相应的数据。
作者: 于紫洋    时间: 2012-3-10 13:18
冯旭君 发表于 2012-3-10 13:10
为什么要返回char型呢?read方法,是把读入的数据,放到了字节数组里面了。并不是你想的把返回值给你char类 ...

返回的int是字节码么?
作者: 冯旭君    时间: 2012-3-10 13:30
于紫洋 发表于 2012-3-10 13:18
返回的int是字节码么?

不是,是返回的读入字节的长度。你可以看看api的。:)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2