我这个拷贝功能为什么没有实现呢 ?反而源文件的内容被清空了
package com.File;
import java.io.*;
/**
* Created by Administrator on 2017\8\8 0008.
* 实现文件拷贝:用带缓冲区的字节流来实现
* 写入目标文件不需要判断是否存在,如果不存在,则自动创建
*/
public class CopyFile {
public static void copyFile(File srcFile,File dstFile)throws IOException{
if(!srcFile.exists()){
//抛出异常
throw new IllegalArgumentException("文件:"+srcFile+"不存");
}
if(!srcFile.isFile()){
//抛出异常
throw new IllegalArgumentException("不是文件");
}
BufferedInputStream bis= new BufferedInputStream(new FileInputStream(srcFile));//默认缓冲区大小
//BufferedInputStream bis= new BufferedInputStream(new FileInputStream(srcFile),20);指定缓冲区大小
BufferedOutputStream ois=new BufferedOutputStream(new FileOutputStream(dstFile));
// BufferedOutputStream ois2=new BufferedOutputStream(new FileOutputStream(dstFile),20);
int c;
while((c=bis.read())!=-1){
ois.write(c);
ois.flush();//这块必须要刷新缓冲区,否则数据写不进去
}
//完成操作之后,需要关闭
bis.close();
ois.close();
}
public static void main(String[] args)throws IOException {
CopyFile.copyFile(new File("D:\\U盘\\imooc\\Hello.txt"),new File("D:\\U盘\\imooc\\Hello.txt"));
}
}