上一篇我们用递归实现了计算文件夹的大小,这一次我们用递归来删除文件夹(包含该文件夹下的文件),删掉的文件夹不会在回收站里。
代码如下:
package day01;
import java.io.File;
public class DeleteFiles {
public static void main(String[] args) {
File dir = FileLength.getDir();//FileLength类在我博客里的递归第一篇里有
deleteFiles(dir);
}
public static void deleteFiles(File dir) {
//获取dir目录下所有的文件及文件夹
File[] subFiles = dir.listFiles();
//遍历dir目录
for (File subfile : subFiles) {
if (subfile.isFile()) {
subfile.delete();
}else {
deleteFiles(subfile);
}
}
dir.delete();//这一步特别关键,因为这一步会删除掉空文件夹,不加这一步会保留空文件夹。
}
}