A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© jialianghao 中级黑马   /  2016-5-7 15:51  /  478 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

FileInputStream fis=new FileInputStream("xxx.txt");
FileOutputStream fos=new FileOutputStream("yyy.txt");
byte[] arr=new byte[1024*8];
int len;
while((len=fis.read(arr))!=-1)   //问这里的len代表的是什么?  为什么要传入arr,不传可以吗?
{
   fos.write(arr,0,len);   // 这句话的代码是什么意思?
}
fis.close();
fos.close();

1 个回复

倒序浏览
个人看法:int len;
while((len=fis.read(arr))!=-1)   //问这里的len代表的是什么?  为什么要传入arr,不传可以吗?

这个的话,len是用来判断是否读完了,因为读到末尾是返回的是-1;传入arr是为了 提高读取的效率,你不传也没事,不传的话每次读取只有一个字节

fos.write(arr,0,len);   // 这句话的代码是什么意思?

这个的话是写入之前读到数组里的有效个数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马