老师你好,下面这段代码有个地方我想不太明白
long transferred = 0L;
long size = fin.size();
while (transferred != size){
transferred += fin.transferTo(0, size, fout);
}
既然一次transfer不能保证全部传完,那么下一次transfer的时候传入的参数为什么不需要根据上次传完的数据重新计算呢,即代码编程下面这样:
long transferred = 0L;
long size = fin.size();
while (transferred != size){
transferred += fin.transferTo(transferred+1, size-transferred, fout);
}
我看了transferTo这个方法的注释,只看到这个方法不保证一次全部传完,但没有说怎样才能保证全部传完,想知道老师是从哪里看到这个能够保证全部传完的方法的呢,还是从实践中摸索出来的。谢谢!