请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于使用NIO的transferTo方法拷贝文件的问题

老师你好,下面这段代码有个地方我想不太明白

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这个方法的注释,只看到这个方法不保证一次全部传完,但没有说怎样才能保证全部传完,想知道老师是从哪里看到这个能够保证全部传完的方法的呢,还是从实践中摸索出来的。谢谢!

正在回答 回答被采纳积分+3

1回答

Stannum 2020-08-08 16:16:54

同学你好~你的问题非常好~事实上,同样的问题我之前已经在其他同学提出的时候解答过了:https://coding.imooc.com/learn/questiondetail/146379.html

抱歉之前解答过之后,我还没有更新课程仓库里的代码,你愿意提交一个合并请求来修复这个问题吗?


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号