程序运行太卡,并且复制的文件太大
public static void CopyFileByFile(File preFile, File nexFile)throws IOException{
if(!preFile.exists()){
throw new IllegalArgumentException("文件"+preFile+"不存在");
}
if(!preFile.isFile()){
throw new IllegalArgumentException(preFile+"不是文件");
}
FileInputStream in=new FileInputStream(preFile);
FileOutputStream out=new FileOutputStream(nexFile);
byte[]bye=new byte[1024];
int b=in.read(bye, 0, bye.length);
while(b!=-1){
out.write(bye,0,b);
/*
* 这个方法的作用是把缓冲区的数据输出。
* 一般在读写流的时候,数据是先被读到了内存中,
* 再把数据写到文件中,当数据读完的时候不代表数据已经写完了,
* 因为还有一部分有可能会留在内存这个缓冲区中。
* 这时候如果调用了close()方法关闭了读写流,
* 那么这部分数据就会丢失,所以应该在关闭读写流之前先flush()。
*/
}
in.close();
out.close();
}