黑马程序员技术交流社区
标题:
字节流read()方法返回类型为什么是int
[打印本页]
作者:
_let'sgo
时间:
2015-11-3 22:38
标题:
字节流read()方法返回类型为什么是int
字节流读出来的不是字节吗?为什么API中 read()方法读取单个字节返回的不是byte而是int呢?有什么讲究吗?
作者:
纳木错的程序猿
时间:
2015-11-4 12:49
因为字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式的存储的,如果每次读取都返回byte,有可能在读到中间的时候遇到111111111,那么这11111111是byte类型的-1,我们的程序是遇到-1就会停止不读了,后面的数据就读不到了,所以在读取的时候用int类型接收,如果11111111会在其前面补上24个0凑足4个字节,那么byte类型的-1就变成int类型的255了这样可以保证整个数据读完,而结束标记的-1就是int类型
作者:
xiaoxiao147
时间:
2015-11-4 12:56
....所以是为了不出错才默认int?
作者:
会盟天下英豪
时间:
2015-11-4 21:08
上楼解释的好
作者:
damofeixue
时间:
2015-11-5 01:15
我们今刚学的字符流
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2