Java中删除目录下的文件需要实现递归删除:
private static void RecuErsionDeleteDisk(File file)
{
File[] files = file.listFiles();
for(File f : files)
{
if(f.isFile() || f.list().length == 0)
{
f.delete();
}
else
{
RecuErsionDeleteDisk(f);//递归删除每一个文件
f.delete();//删除该文件夹
}
}
}
private static void RecuErsionDeleteDisk(File file)
{
if(file.isFile() || file.list().length == 0)
{
file.delete();
}
else
{
File[] files = file.listFiles();
for(File f : files)
{
RecuErsionDeleteDisk(f);//递归删除每一个文件
f.delete();//删除该文件夹
}
}
}
对于其中递归的出口判断第一种较好,第二中当传入一个目录的时候可能会把该目录也删除掉。