在网上找到的,感觉写的比较好,拿出来分享一下吧!
不过这种方法只适合小型的应用,如果你的目录下有几千个文件,那它产生的堆栈空间估计会把你的电脑撑爆掉的(呵呵,有点夸张)
public
class
DelDir
...
{
public static void del(String filepath) throws IOException ...{
File f = new File(filepath);
if (f.exists() && f.isDirectory()) ...{
if (f.listFiles().length == 0) ...{
f.delete();
}
else ...{
File delFile[] = f.listFiles();
int i = f.listFiles().length;
for (int j = 0; j < i; j++) ...{
if (delFile[j].isDirectory()) ...{
del(delFile[j].getAbsolutePath()); //递归删除
}
delFile[j].delete();
}
}
del(filepath); //用来删除最上级目录
}
}
}
public static void del(String filepath) throws IOException ...{
File f = new File(filepath);
if (f.exists() && f.isDirectory()) ...{
if (f.listFiles().length == 0) ...{
f.delete();
}
else ...{
File delFile[] = f.listFiles();
int i = f.listFiles().length;
for (int j = 0; j < i; j++) ...{
if (delFile[j].isDirectory()) ...{
del(delFile[j].getAbsolutePath()); //递归删除
}
delFile[j].delete();
}
}
del(filepath); //用来删除最上级目录
}
}
}