视频中,老师说如果没在创建destFile,则运行后就会自动创建并进行复制操作,可我这个代码出现问题?
报这个异常,说明你的456.doc 不存在吧.
new file(“”f:\\123.doc“”,true)可不可以这样,如果存在,自动追加,如果不存在,就创建。不知道对不对,还希望大神指正
这个异常报出的问题已经很明确,你的文件123.docx不存在,你只要在你的文件目录下创建这个文件即可解决这个异常,而真正导致这个异常的原因是,File这个类并不能根据是否存在当前文件而自动创建,可以查看java文档中的详细说明
我感觉视频中讲解有误,没有destfile的话, public static void copyFilebyByte(File scrFile,File destFile) throws IOException{
if (!scrFile.exists()) {
throw new IllegalArgumentException("文件" + scrFile + "不存在");
}
if (!destFile.exists()) {
throw new IllegalArgumentException("文件" + destFile + "不存在");
}
FileInputStream fis=new FileInputStream(scrFile);
FileOutputStream fos=new FileOutputStream(destFile);
int c;
while((c=fis.read())!=-1){
fos.write(c);
fos.flush();//最好加上,刷新缓冲区
}
fis.close();
fos.close();
}
中并没有体现会自动创建destfile ,所以还是要在目录下存在destfile
文件类型名不一致 去掉后面x