日期:2014-05-20  浏览次数:20796 次

为什么删不干净
要删除D盘下的AA目录代码如下:
public class FileCreate {
public static void delDirectory(File file)
{
for(int i =0;i<file.listFiles().length;i++)
{
if(file.listFiles()[i].isFile())
{
file.listFiles()[i].delete();
}
else
{
delDirectory(file.listFiles()[i]);
}
}
file.delete();
}
public static void main(String args[])
{
File fileobj = new File("d:\\AA");
delDirectory(fileobj);
}
}

为什么要运行两次才能完全删除

------解决方案--------------------
public class FileCreate { 
public static void delDirectory(File file) 

int fileNums = file.listFiles().length;
for(int i =0;i <fileNums;i++) 

if(file.listFiles()[i].isFile()) 

file.listFiles()[i].delete(); 

else 

delDirectory(file.listFiles()[i]); 


file.delete(); 

public static void main(String args[]) 

File fileobj = new File("d:\\AA"); 
delDirectory(fileobj); 

}