【nio】Files删除文件目录

代码示例

package com.learning.files;

import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;

/**
 * @Author wangyouhui
 * @Description 删除文件夹
 **/
public class WalkFileTreeDelete {
          
   
    public static void main(String[] args) throws IOException {
          
   
        // 不能直接删除有文件的目录 java.nio.file.DirectoryNotEmptyException
        // 删除后无法在回收站还原,请谨慎
//        Files.delete(Paths.get("E:\test"));
        Files.walkFileTree(Paths.get("E:\test"), new SimpleFileVisitor<Path>(){
          
   
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
          
   
                // 删除文件
                Files.delete(file);
                return super.visitFile(file, attrs);
            }

            @Override
            public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
          
   
                // 删除目录
                Files.delete(dir);
                return super.postVisitDirectory(dir, exc);
            }
        });
    }
}
经验分享 程序员 微信小程序 职场和发展