为什么write(buf, 0, b)会报错,改成write(buf, 0, buf.length)就不会报错了
代码:
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); //write(buf,0,b)
fos.flush();
}
老师写的是write(buf,0,b),但是我运行以后是这样
改成fos.write(buf, 0, buf.length);就可以了