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

为什么删不干净
要删除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); 
} 
}