java中copy文件的疑问

byte[]bytes=newbyte[1024];intc;while((c=in.read()!=-1){out.write(bytes);}和byte[]bytes... byte[] bytes = new byte[1024];
int c;
while((c = in.read() != -1){
out.write(bytes);
}

byte[] bytes = new byte[1024];
in.read();
out.write(bytes);
有什么区别。两个都可以copy文件,我在视频上看到的别人写的都是第一个。。。但是第二个不应该还要简便一些吗。。。
展开
 我来答
heptnaol
2015-09-13 · TA获得超过7259个赞
知道大有可为答主
回答量:7120
采纳率:78%
帮助的人:1736万
展开全部
其实,很多文件尺寸都大于1024的
追问
重点不是这里啊,我只是举个例子!重点在这两种编码有什么区别啊
追答
重点就是这里,不循环copy完所有的字节,结果就是错误的。
我最爱逍遥2010
2015-09-13 · 超过15用户采纳过TA的回答
知道答主
回答量:21
采纳率:0%
帮助的人:21.6万
展开全部
while((c = in.read() != -1){
out.write(bytes);
}
这个in.road()!= -1的作用就是判断是否读到头了然后才输出。加上去程序才会健壮。千万
不要图省事!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式