java 用递归的方式删除指定的目录及下面的子目录和文件
程序员文章站
2022-03-03 09:06:47
...
话不多说,直接上代码
private static void delFolder(String filepath) throws IOException {
File f = new File(filepath);// 定义文件路径
if (f.exists()) {
if (f.isFile()) {// 判断是文件还是目录
f.delete();
} else if (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()) {
delFolder(delFile[j].getAbsolutePath());// 递归调用del方法并取得子目录
}
delFile[j].delete();// 删除文件
}
// delFolder(filepath);
delFolder(f.getPath());
}
}
}
}
正好今天用到,但是在网上随便找了一下,发现很多都是删除目录下的文件及其子目录,并没有删除目录的本身,因此做一下小小的改动,希望能够帮到大家!
上一篇: java 对电脑的文件浏览(目录和文件)和删除操作
下一篇: java中对文件和目录的操作