黑马程序员技术交流社区

标题: 一个小问题,请教下~ [打印本页]

作者: 不喝茶的陆羽    时间: 2013-5-27 16:41
标题: 一个小问题,请教下~
本帖最后由 不喝茶的陆羽 于 2013-5-27 16:51 编辑

byte[] buf = new byte[1024];
int len = 0;

                while((len=fis.read(buf))!=-1)
                {
                        out.write(buf,0,len);
                }


作者: 381946250    时间: 2013-5-27 16:45
希望能解决的你疑问

小Q截图-20130527164510.png (12.13 KB, 下载次数: 0)

小Q截图-20130527164510.png

作者: 不喝茶的陆羽    时间: 2013-5-27 16:46
本帖最后由 不喝茶的陆羽 于 2013-5-27 16:50 编辑

哦,此处read的返回值是字节数?那我就明白了,谢谢~
作者: 石贤芝    时间: 2013-5-27 16:48
本帖最后由 石贤芝 于 2013-5-27 16:51 编辑

兄弟,len是整型的数据,怎么会有len.length呢?  

len=fis.read(buf)  中的 len 表示流 fis 读入到数组 buf 中的字节数。

out.write(buf,0,len); 表示流 out 把数组 buf 中的前 len 个字节写出去。

这些应该没有问题的   {:soso_e100:}
作者: 袁梦希    时间: 2013-5-27 17:08
石贤芝 发表于 2013-5-27 16:48
兄弟,len是整型的数据,怎么会有len.length呢?  

len=fis.read(buf)  中的 len 表示流 fis 读入到数组 b ...

解释的很好,1楼确实有点问题
作者: 石贤芝    时间: 2013-5-27 17:10
袁梦希 发表于 2013-5-27 17:08
解释的很好,1楼确实有点问题

给力。。。
作者: 381946250    时间: 2013-5-27 17:12
我觉得我解释的没有问题啊,请指出,谢谢啦
作者: 381946250    时间: 2013-5-27 17:16
袁梦希 发表于 2013-5-27 17:08
解释的很好,1楼确实有点问题

我觉得我解释的没有问题啊,请指出,谢谢啦
作者: 袁梦希    时间: 2013-5-27 17:24
381946250 发表于 2013-5-27 17:16
我觉得我解释的没有问题啊,请指出,谢谢啦

len=fis.read(buf) 这个你说对了,他是用len来计数,然后存到buf缓冲区,所以read()传进buf对象。

你的  out.write(buf,0,len)  应该是从buf缓冲数组拿数据,然后从0个字节开始写,一共写到len个字节。

而你所说这里不是数组的属性,所以用len,不符合逻辑,你还用个方向箭头指向了那里。
作者: 381946250    时间: 2013-5-27 17:27
袁梦希 发表于 2013-5-27 17:24
len=fis.read(buf) 这个你说对了,他是用len来计数,然后存到buf缓冲区,所以read()传进buf对象。

你的  ...

第一行我应该加个逗号的,应该是这个问题吧
作者: 381946250    时间: 2013-5-27 17:28
袁梦希 发表于 2013-5-27 17:24
len=fis.read(buf) 这个你说对了,他是用len来计数,然后存到buf缓冲区,所以read()传进buf对象。

你的  ...

第一行我应该加个逗号的,应该是这个问题吧
作者: 袁梦希    时间: 2013-5-27 17:29
381946250 发表于 2013-5-27 17:28
第一行我应该加个逗号的,应该是这个问题吧

那你说说out.write(buf,0,len)里面的三个属性都什么意思吧
作者: 381946250    时间: 2013-5-27 17:42
袁梦希 发表于 2013-5-27 17:29
那你说说out.write(buf,0,len)里面的三个属性都什么意思吧

从buf中读取数据,从0开始,到len结束
作者: 381946250    时间: 2013-5-27 17:43
袁梦希 发表于 2013-5-27 17:29
那你说说out.write(buf,0,len)里面的三个属性都什么意思吧

从buf中读取数据,从0开始,到第len个字节结束
作者: 袁梦希    时间: 2013-5-27 17:43
381946250 发表于 2013-5-27 17:42
从buf中读取数据,从0开始,到len结束

早这样解释,我就认为你对了;P
作者: 381946250    时间: 2013-5-27 17:44
袁梦希 发表于 2013-5-27 17:43
早这样解释,我就认为你对了

:lol,嘿嘿




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