read()方法读取的是一个字节,为什么返回是int,而不是byte
2016-02-06 15:40
309 查看
因为字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式的存储的,如果每次读取都返回byte,有可能在读到中间的时候遇到111111111
那么这11111111是byte类型的-1,我们的程序是遇到-1就会停止不读了,后面的数据就读不到了,所以在读取的时候用int类型接收,如果11111111会在其前面补上
24个0凑足4个字节,那么byte类型的-1就变成int类型的255了这样可以保证整个数据读完,而结束标记的-1就是int类型
那么这11111111是byte类型的-1,我们的程序是遇到-1就会停止不读了,后面的数据就读不到了,所以在读取的时候用int类型接收,如果11111111会在其前面补上
24个0凑足4个字节,那么byte类型的-1就变成int类型的255了这样可以保证整个数据读完,而结束标记的-1就是int类型
相关文章推荐
- 图(最短路径)2
- python中快速判断一个对象是否是字符串
- MU的话题
- Anaconda 一直停留在 Loading apps list... 解决方案
- 二叉树(三)
- rails
- 第一行代码第8章——使用通知
- Java的集合之算法篇与遗留的集合
- 1047 Student List for Course
- 2015年度计划-总结
- C语言 优先级
- Java [Leetcode 203]Remove Linked List Elements
- 微软100题第51题:和为n连续正数序列
- ubuntu添加别名
- linux4.3.2 块设备驱动简析-1
- JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)
- JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)
- poj_3080 Blue Jeans(KMP应用)
- HDU 2516 取石子游戏(fibonacci博弈)
- HDU2002