递归删除多级文件夹及文件

    xiaoxiao2021-03-25  99

    实现删除某个目录删除及该目录里面所有的子文件和文件夹的功能

    整体思路: * 文件存在 * 是文件 –直接调用delete删除 * 是文件夹–接收文件夹下file实例并遍历 * 调用自身递归判断 * 删除空文件夹

    import java.io.File; /** * @author Administrator */ public class DiGuiTest { public static void main(String[] args) { File file = new File("F://test"); deletAllFiles(file); } /** *递归删除文件目录及文件 * @param file */ public static void deletAllFiles(File file) { if (file == null) { return; } //文件目录存在?(包括文件及文件夹) if (file.exists()) { //是文件? if (file.isFile()) { System.out.println(file.getAbsolutePath()); file.delete(); } //是文件夹? else if (file.isDirectory()) { //接收文件夹目录下所有的文件实例 File[] listFiles = file.listFiles(); //文件夹为空 递归出口 if (listFiles == null) { return; } for (File file2 : listFiles) { //foreach遍历删除文件 递归 deletAllFiles(file2); System.out.println("正在删除文件夹 " + file.getAbsolutePath()); } //递归跳出来的时候删除空文件夹 System.out.println("正在删除文件夹" + file.getAbsolutePath()); file.delete(); } } } }
    转载请注明原文地址: https://ju.6miu.com/read-6253.html

    最新回复(0)