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区分开来了 |
|