2层Folder删除问题,父文件夹删不掉

在此用的是由内向外删除。文件结构是:父文件夹/子文件夹/文件。用的是java1.6的java.io.FIle#deleteFile();

在删除的过程中,发现,文件删除的时候没有问题,但是在子文件夹删除的时候会出现,

最后一个子文件没有删掉的情况。这个现象可以通过 fatherFolder.listFiles()来找出,

这个时候的list是有长度的,长度为一,对象是删除顺序的最后一个文件夹,但是这个文件夹

的状态确实 subFolder.exists() = false;也就是说删除动作执行了,但是还没有删除掉。

然后此时调用 fatherFolder.deleteFile()是删除不掉的。

解决办法 子文件夹调用 deleteFile(),而父文件夹调用deleteOnExist();

因为deleteOnExist()方法是会等到JVM在空闲的状态才开始执行,所以他会等到子文件就都

删除完毕的时候才执行。

posted on 2013-12-24 16:33  扭头撞到墙  阅读(455)  评论(0编辑  收藏  举报