java的字节输入流可以操作任意类型的文件,如:图片音频等,这些文件底层都是二进制存储的,读取时如果用的是byte,当我们遇到11111111时(-1的原码为10000001,反码11111110,补码11111111,byte用的都是补码形式计算的),系统以为已经读到文件尾了,后面的数据就无法读取,因此用int类型接收。用int接收,会在前面加24个0凑足4字节,写的时候write方法会去掉这24个0.
read()方法返回值为什么用int不用byte
最新推荐文章于 2023-01-12 16:38:10 发布