0

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

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

4

2 回答 2

0

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

于 2016-08-02T07:35:14.357 回答
0

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

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

于 2016-08-01T07:45:44.583 回答