我一直在编写一个使用石英的批处理系统程序,我发现了一个问题,
if(!file.renameTo(new File(PATH_FILE_PROCESSED+file.getName())))System.out.println("Cannot Move File :"+file.getAbsolutePath());
else{
if(!file.delete())System.out.println("Cannot Delete File :"+file.getAbsolutePath());
}
我想将文件从一个目录移动到另一个目录但是我无法在同一个过程中删除该文件,从我的分析中我认为该文件尚未完成复制然后运行file.delete( ); 我的问题是,有没有办法等到文件完成复制然后运行file.delete? 感谢
答案 0 :(得分:0)
重命名几乎是即时的,因为它不复制文件,只是移动它出现的目录(除非你在文件系统之间移动)
在Windows上,如果您在某处打开文件,则无法重命名或删除。确保你已正确关闭()。
答案 1 :(得分:0)