黑马程序员技术交流社区

标题: 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