为了账号安全,请及时绑定邮箱和手机立即绑定

read的返回值

read()返回值是什么? 两个地方弄得很糊涂啊! int bytes = in.read(buf,0,buf.length); int j = 1; for(int i = 0; i < bytes;i++){ System.out.print(Integer.toHexString(buf[i] & 0xff)+"  "); } ------------------------------------------------------------- while((c = in.read())!=-1){ out.write(c); out.flush(); }

正在回答

5 回答

read() 的返回值是int类型,返回语句是这样:return getBufIfOpen()[pos++] & 0xff;其中getBufIfOpen()是一个获取数组的方法 返回值是byte[]类型,而getBufIfOpen()返回的数组的索引是[pos++]其实指的就是下一个字节的内容!但是read()方法有一个if判断,如果没有内容了就返回-1,所以可以用于循环的判断条件!

1 回复 有任何疑惑可以回复我~

while((c = in.read())!=-1){ out.write(c); out.flush(); 

这里针对C ,c为什么又可以成为write的参数呢????c返回值不是应该代表读取的个数吗???如果c相当于读写的个数,那么c在wtite(c)中又代表什么意思呢???

}

0 回复 有任何疑惑可以回复我~

read(buf,0,buf.length)   返回的是读取字节的长度。
read()   没参数的   返回的是指针对应的下一个字节。

2 回复 有任何疑惑可以回复我~
#1

慕虎0571853

看了那么多答案,就你的言简意赅,一语点醒。
2019-02-15 回复 有任何疑惑可以回复我~

读取字节的长度

0 回复 有任何疑惑可以回复我~

读取的次数

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

read的返回值

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信