美文网首页
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 高效删除目录的方法 (可以避免栈溢出)

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