一个简单的 Demo ,实现清理指定目录的缓存文件或空文件夹。
运行环境
操作系统:Windows 10
Java环境:JDK-17
具体代码
package demo;
import java.io.File;
/**
* 此类用于清理缓存文件或空文件夹
*/
public class ClearDirectory {
public static void main(String[] args) {
File tmpDir = new File("D:\\Test\\Temp");
clear(tmpDir, false);
if (!tmpDir.exists()) {
tmpDir.mkdirs();
}
}
/**
* 清理缓存目录或空文件夹
*
* @param file 要清理的目录
* @param delFile 指定是否删除目录下的子文件,如果为 {@code true} ,则删除子文件,否则只删除空文件夹
*
*/
public static void clear(File file, boolean delFile) {
if (file.isDirectory()) {
for (File f : file.listFiles()) {
clear(f, delFile);
}
if (file.listFiles().length == 0) {
if (file.delete()) {
System.out.println(file + " - delete succeed.");
}
}
} else {
if (delFile) {
if (file.delete()) {
System.out.println(file + " - delete succeed.");
}
}
}
}
}