文件重命名为& File.delete

时间:2016-08-01 07:42:32

标签: java file file-moving

我一直在编写一个使用石英的批处理系统程序,我发现了一个问题,

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? 感谢

2 个答案:

答案 0 :(得分:0)

重命名几乎是即时的,因为它不复制文件,只是移动它出现的目录(除非你在文件系统之间移动)

在Windows上,如果您在某处打开文件,则无法重命名或删除。确保你已正确关闭()。

答案 1 :(得分:0)

我认为我已经发现了问题,问题是当我在zip中插入文件时,其他一些代码已插入数据,因此它在数据库中创建了重复,并且它会产生这样的错误。所以,谢谢你回答这个问题