下面几句实在不明白,为什么之前copy一大一小,后来就一样大,求助????
int v=0;
byte[] yt=new byte[1024];
while((v=fis.read(yt))!=-1){
fos.write(yt, 0, v);
}
48
收起
正在回答 回答被采纳积分+1
2回答
好帮手慕阿园
2020-05-01 17:08:10
同学你好
byte[] yt=new byte[1024];这句是表示创建了一个长度为1024的字节数组
while((v=fis.read(yt))!=-1)这句表示在读取fis这个文件,如果读取到默认fis.read(yt)返回的值是-1
fos.write(yt, 0, n);这句表示把读出来的东西写入到了fos文件里
刚开始用fos.write(yt)这个方法的时候不一样是因为,读取的时候按照1024个字节去写入的,如果原文件最后一行没有1024个字节,那么copy的文件会比原文件大一点
用fos.write(yt, 0, v);这样读的话表示如果最后一行没有1024个字节,是从零到读取到实际字节,写入的也是实际字节,所以会一样大
祝学习愉快
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星