Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker DevOps


Java 删除非空文件夹

Java 大约 1027 字

Files.walkFileTree

SimpleFileVisitor相关的回调方法如下:

preVisitDirectory:进入文件夹前的回调方法。

visitFile:遍历到具体文件的回调方法。

postVisitDirectory:退出文件夹后的回调方法。

visitFileFailed:访问文件失败的回调方法。

具体代码

在遍历到具体文件时删除该文件,在退出文件夹后删除文件夹。

这样就能实现删除文件夹下的所有内容,且在最后退出访问自身文件夹后删除自身。而从删除整个文件夹。

public class FilesDeleteDemo {

    public static void main(String[] args) throws IOException {
        Files.walkFileTree(Paths.get("D:/test"), new SimpleFileVisitor<Path>() {
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                System.out.println("===> " +file.toString());
                Files.delete(file);
                return super.visitFile(file, attrs);
            }

            @Override
            public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
                System.out.println(dir.toString());
                Files.delete(dir);
                return super.postVisitDirectory(dir, exc);
            }
        });
    }
}
阅读 645 · 发布于 2021-12-09

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批