java 为什么InputStream.read()读取一个byte却返回一个int呢?
来源:互联网 发布:mysql synonym 编辑:程序博客网 时间:2024/05/16 11:03
InputStream.read()返回一个unsigned byte [0 - 255],而java里面没有这个类型,所以用int接收。
byte的范围是[-128,127],所以如果read()返回的数在[128,255]的范围内时,则表示负数,即
(byte)128=-128
(byte)129=-127
(byte)255=-1
所以如果read()返回的是byte的话,那就会有负数。而"返回-1意味着结束",这个信息量用byte是无法表达的,所以必须用int。
阅读全文
0 0
- java 为什么InputStream.read()读取一个byte却返回一个int呢?
- 为什么InputStream.read()读取一个byte确返回一个int呢?
- 为什么InputStream.read()读取一个byte确返回一个int呢?
- 为什么Java的InputStream.read函数要返回int型而实际上它只读一个byte
- java.io.InputStream.read(byte[] b, int off, int len)
- Java当中InputStream中read()、read(byte[] b)、read(byte[] b,int off,int len)
- 为什么IO读取流的read方法返回的是int而不是byte的原因!
- (转)为什么IO读取流的read方法返回的是int而不是byte的原因!
- java.io.FileInputStream.read()的返回值类型为什么是int而不是byte
- 为什么read()方法返回的是int类型而不是byte
- 基于java的InputStream.read(byte[] b,int off,int len)算法学习!
- 基于java的InputStream.read(byte[] b,int off,int len)算法学习
- 基于java的InputStream.read(byte[] b,int off,int len)算法学习
- 基于java的InputStream.read(byte[] b,int off,int len)算法学习!
- InputStream当中read()、read(byte[] b)、read(byte[] b、int off 、int len)的使用
- InputStream.read(byte[] b,int off,int len)
- InputStream.read(byte[] b,int off,int len)
- java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[
- 用JAVA打印日历1.0
- Android消息处理机制(Handler、Looper、MessageQueue与Message)
- 机器学习第三周程序
- 矩阵快速幂
- 快速排序算法
- java 为什么InputStream.read()读取一个byte却返回一个int呢?
- Java集合-01之 总体框架
- 继续xxx定律
- AtCoder Grand Contest 018 做题记录
- JZOJ 5258. 友好数对
- Effective Modern C++翻译系列之Item18
- JAVA——线程中start()和run()的区别
- 线程中fork函数的使用
- 斜率优化(待更)