传给FileOutputStream的参数是一个系统中并不存在的文件夹!
拷贝函数publicstaticvoidcopyFile(Filesrc,Filedes)throwsIOException{if(!src.exists()){//文件...
拷贝函数
public static void copyFile(File src,File des) throws IOException{
if(!src.exists()){//文件不存在
throw new IllegalArgumentException("文件"+src+"不存在");
}
if(!src.isFile()){//不是文件
throw new IllegalArgumentException("不是一个文件");
}
FileInputStream in=new FileInputStream(src);
FileOutputStream out=new FileOutputStream(des);
byte[] buf=new byte[8*1024];
int b;
while((b=in.read(buf, 0, buf.length))!=-1){
out.write(buf, 0, b);
out.flush();//最好加上
}
in.close();
out.close();
}
然后我在测试类中调用
JavaUtil2.copyFile(new File("src/javaIO/JavaUtil2.java"), new File("mass/x.dat"));
此时第一个参数是确实有这个文件,第二个File实例系统中没有这个文件
执行后创建了一个新的x.dat文件,而且内容也成功拷贝了!!但是我传的是一个不存在的文件,为什么能被创建出来而不报错???
谢谢大神解答!! 展开
public static void copyFile(File src,File des) throws IOException{
if(!src.exists()){//文件不存在
throw new IllegalArgumentException("文件"+src+"不存在");
}
if(!src.isFile()){//不是文件
throw new IllegalArgumentException("不是一个文件");
}
FileInputStream in=new FileInputStream(src);
FileOutputStream out=new FileOutputStream(des);
byte[] buf=new byte[8*1024];
int b;
while((b=in.read(buf, 0, buf.length))!=-1){
out.write(buf, 0, b);
out.flush();//最好加上
}
in.close();
out.close();
}
然后我在测试类中调用
JavaUtil2.copyFile(new File("src/javaIO/JavaUtil2.java"), new File("mass/x.dat"));
此时第一个参数是确实有这个文件,第二个File实例系统中没有这个文件
执行后创建了一个新的x.dat文件,而且内容也成功拷贝了!!但是我传的是一个不存在的文件,为什么能被创建出来而不报错???
谢谢大神解答!! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询