黑马程序员技术交流社区
标题:
IO流之read()方法返回值为什么是int
[打印本页]
作者:
芒果小姐
时间:
2016-7-30 00:37
标题:
IO流之read()方法返回值为什么是int
read()方法返回值为什么是int?
字节流可以读取任意类型的数据,当读取音频视频等大文件的时候,有可能
中间读取到11111111这样的字节数据,它表示byte类型的-1,这样就和我们文件读取的结束标记-1值一样了,那么会认为读取结束,后面的数据就不再读取了
读取时将读取到的每个byte类型数据提升为int类型,在前面加上24个0,所以即使读取到11111111,它被提升为int类型的255,这样就和我们的结束标记-1区分开来了
字节流可以读取任意类型的数据,当读取音频视频等大文件的时候,有可能
中间读取到11111111这样的字节数据,它表示byte类型的-1,这样就和我们文件读取的结束标记-1值一样了,那么会认为读取结束,后面的数据就不再读取了
读取时将读取到的每个byte类型数据提升为int类型,在前面加上24个0,所以即使读取到11111111,它被提升为int类型的255,这样就和我们的结束标记-1区分开来了
作者:
自娱自乐的朋朋
时间:
2016-7-31 02:55
字节流的判断问题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2