read()方法读取的是一个字节,为什么返回int,而不是byte?
2019-04-14 / JAVA / 906 次围观 / 0 次吐槽 /如果使用FileInputStream读取图片数据,read()方法读取的是一个字节,为什么返回int,而不是byte?
因为:
假如使用FileInputStream读取图片数据的时候,图片中间有一段数据刚好是 11111111 ,
那么这八个1就表示byte: -1,java程序如果读到-1, 后面的数据就可能不读取了。
如果把8个1转成int,那就是00000000 00000000 00000000 11111111 ,这就表示为255,
而不是-1,规避了后面数据没有读取到的问题。
- 上一篇:IO流
- 下一篇:装饰(Decorator)设计模式
Powered By Cheug's Blog
Copyright Cheug Rights Reserved.