使用File类删除非空文件夹

需求:
使用File.delete()只能删除空目录或文件。如果要删除非空目录,需要使用递归删除。
实现:

public static void deleteDirectory(File directory) {
    //判断此文件存在
    if (!directory.exists()) {
        return;
    }
  	
    File[] files = directory.listFiles();
    if (files != null) {
        for (File file : files) {
            if (file.isDirectory()) {
                deleteDirectory(file); // 递归删除子目录
            } else {
                file.delete(); // 删除文件
            }
        }
    }
  
    directory.delete(); // 删除当前目录
}

使用:

File dir = new File("/path/to/directory");
deleteDirectory(dir);

你可能感兴趣的:(IO流,java,file)