课程
/后端开发
/Java
/文件传输基础——Java IO流
int bytes=in.read(buf,0,buf.length);
for(int i=0;i<bytes;i++){
i小于bytes?为什么不是小于bytes的长度?
2016-08-25
源自:文件传输基础——Java IO流 4-2
正在回答
先说说你的这个问题, 为什么不是小于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.length);
yuhq 提问者
自己打印了一下System.out.print("byte的数值是:"+bytes);确实是有效字节的长度
还在吗?
1.看你定义的bytes 是什么类型的?int型的,它代表的就是长度2.其次此read()方法返回的就是所读取的字节的长度
举报
为您介绍IO流的使用,以及对象的序列化和反序列化的内容
1 回答这是为什么呢?
3 回答遍历为什么是这样。
2 回答为什么我输出的是这东西?
2 回答0xf为什么是1
1 回答为什么我这样做出来的是乱码