Cheug's Blog

当前位置:网站首页 / JAVA / 正文

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,规避了后面数据没有读取到的问题。

Powered By Cheug's Blog

Copyright Cheug Rights Reserved.