黑马程序员技术交流社区
标题:
read()方法读取的是一个字节,为什么返回是int,而不是byte
[打印本页]
作者:
你好你好
时间:
2016-1-31 14:00
标题:
read()方法读取的是一个字节,为什么返回是int,而不是byte
因为字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式的存储的,如果每次读取都返回byte,有可能在读到中间的时候遇到111111111
那么这11111111是byte类型的-1,我们的程序是遇到-1就会停止不读了,后面的数据就读不到了,所以在读取的时候用int类型接收,如果11111111会在其前面补上
24个0凑足4个字节,那么byte类型的-1就变成int类型的255了这样可以保证整个数据读完,而结束标记的-1就是int类型
作者:
davy0119
时间:
2016-2-6 15:39
涨姿势了。。。。。。。。
作者:
zxydream
时间:
2016-2-6 18:23
学到了,谢谢~~
作者:
谁的苍茫
时间:
2016-2-8 23:21
确实很厉害,受教了
作者:
fagug
时间:
2016-2-9 22:01
原来是这样,学习了。。。。。。。。。。。
作者:
liuzegang
时间:
2016-2-9 22:47
涨姿势了
作者:
我爱睡觉
时间:
2016-2-9 22:55
soga 涨知识
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2