美文网首页
Java 高效删除目录的方法 (可以避免栈溢出)

Java 高效删除目录的方法 (可以避免栈溢出)

作者: 贼噶人 | 来源:发表于2019-11-01 16:59 被阅读0次
 public static boolean deleteFile(final File file) {
        try {
            if (null != file) {
                final LinkedList<File> dirLinkedList = new LinkedList<>();
                if (file.exists()) {
                    if (file.isFile()) {
                        file.delete();
                    } else if (file.isDirectory()) {
                        dirLinkedList.add(file);
                        for (int i = 0; i < dirLinkedList.size(); ++i) {
                            final File child = dirLinkedList.get(i);
                            final File[] items = child.listFiles();
                            if (null != items) {
                                for (final File item : items) {
                                    if (item.isFile()) {
                                        item.delete();
                                    } else if (item.isDirectory()) {
                                        dirLinkedList.add(item);
                                    }
                                }
                            }
                        }
                    }
                }
                while (dirLinkedList.size() > 0){
                    dirLinkedList.removeLast().delete();
                }
                return !file.exists();
            }
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

相关文章

  • Java 高效删除目录的方法 (可以避免栈溢出)

  • jvm溢出实现

    java堆溢出 设置参数 抛出异常 虚拟机和本地方法栈溢出 栈溢出 -Xss设置栈容量大小单线程只抛出stacko...

  • 第二章 java内存区域与内存溢出异常

    运行时数据区域 实战 OutOfMemoryError异常 java堆溢出 虚拟机栈和本地方法栈溢出 运行时常量池...

  • JVM抛出异常的原因

    1.Java堆溢出 2.虚拟机栈和本地方法栈溢出 单线程环境下栈帧太大 或者虚拟机栈容量太小都会抛出stacko...

  • java异常

    java. lang. Throwable Error:错误 栈溢出:stackoverflowerror 堆溢出...

  • 虚拟机栈溢出

    错误原因:java.lang.StackOverflowError 栈内存溢出 栈溢出产生递归调用,循环遍历是不会...

  • Java内存区域总结

    目录: 一、Java 运行时数据区域1、程序计数器2、Java 虚拟机栈3、本地方法栈4、Java 堆5、方法区二...

  • 深入理解Java虚拟机

    Java内存区域与内存溢出 数据区域:方法区,虚拟机栈,本地方法栈,堆,程序计数器 为了线程切换后能回复到正确的执...

  • JVM整理

    JVM基本结构 Java栈:1.过多的线程或栈帧过多时会造成溢出StackOverflowError。2.Java...

  • 「网络安全」Windows系统渗入

    本节课会对Windows渗入的几个方法进行讲解。同时对如何防护做出介绍。 目录: Windows渗入思路 栈溢出攻...

网友评论

      本文标题:Java 高效删除目录的方法 (可以避免栈溢出)

      本文链接:https://www.haomeiwen.com/subject/dmadyctx.html