FileOutputStream fos = new FileOutputStream(destfile,true);中,第二个参数加上以后程序好像一直循环了,本来1k的txt文件一会儿就几个G了,不明白哪里会导致一直循环;代码:
FileInputStream fis = new FileInputStream(srcfile);
FileOutputStream fos = new FileOutputStream(destfile,true);
byte[] buf = new byte[20*1024];
int b=0;
//从fis中读取数据存放到buf,从0位置开始,读取最长buf.length个字节
while((b = fis.read(buf, 0, buf.length))!=0)
{
//将buf的内容写入fos,从0位置开始,最多写入b个字节
fos.write(buf, 0, buf.length);
fos.flush();
}
true是什么意思啊
FileInputStream fis = new FileInputStream(srcfile); FileOutputStream fos = new FileOutputStream(destfile,true); byte[] buf = new byte[20*1024]; int b=0; //从fis中读取数据存放到buf,从0位置开始,读取最长buf.length个字节 while(!(b = fis.read(buf, 0, buf.length))=-1)//循环条件是读到-1结束 { //将buf的内容写入fos,从0位置开始,最多写入b个字节 fos.write(buf, 0, buf.length); fos.flush(); }
应该是while()条件里面的不等于-1吧,你写的是0
额,解决了。
fos.write(buf, 0, buf.length);中的buf.length改为b
隐藏问题
循环条件写错了,至于删除问题,你可以试一下在回答中输入“隐藏问题”命令。。。
找到错误了,,粗心写错了
有没有人知道怎么把问题删除吗……