黑马程序员技术交流社区

标题: InputStream的read()方法每次读几个字节 [打印本页]

作者: Mr.Hao    时间: 2014-6-26 10:30
标题: InputStream的read()方法每次读几个字节
既然字节流的操作是按照字节进行读取的,那么每一次read能读取几个字节的长度呢
它定义的read方法返回的是int型,那么也就是说一次读取4个字节?  要是只读取一个字节那么用int型接收岂不是浪费了3byte的空间么
作者: 001可望成功    时间: 2014-6-26 12:46
read()一次读取一个字节,在读取字节时,容易出现连续8个1的情况,连续8个1是-1.正好符合了流结束标记。所以为了避免流操作提前结束, 将读到的字节进行int类型的提升。保留该字节数据的同时,前面都补0.避免-1的情况。
作者: 黄梁梦想享    时间: 2014-6-26 12:49
这么高深,怎么我就没想到呢?
作者: 通宵敲代码    时间: 2014-6-26 13:16
一次只读一个字节吧,返回的是0 到 255 范围内的 int 字节值,读到流末尾就返回-1




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2