已采纳回答 / Airly
先说说你的这个问题, 为什么不是小于bytes的长度?int bytes=in.read(buf,0,buf.length); 这里bytes返回的是int类型的整数而不是数组!没有.length这一说你其实想说的是为什么不是小于buf[i]这个数组的长度吧...是因为老师设置了byte[] buf =new byte[20*1024],有可能读取出来的字节并没有把这个数组装满,所以这里的i只能小于读出来的有效字节长度,而这个读出来的有效字节长度就是int bytes=in.read(buf,0,buf....
2016-08-25
已采纳回答 / Smile丶微冷
文件的本质呢就是一串长长的编码,就像‘011010.....’这样子的东西,当你读取的时候电脑会对内容进行识别和转换。而随机读取的用处呢,比如说你在看电影的时候想要快进,或者直接去看精彩部分,那么就要用到随机读取了。正常从头播放呢,就相当于按顺序读取,文件指针从头一个一个往过走,指针指到那个数据了,那个数据就读出来。而快进和跳转到精彩部分的时候呢,文件指针就会按照人为的设置,跳转到你所设置的文件位置,这就是随机读取的好处。
2016-08-24
老师讲的还挺好的;不过我的read(byte[] b,int start,int size) 编译一直报错。。。如果把byte[]=null;提到类下面,就会报错空指针异常
2016-08-24