代码示例
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);
}
});
}
}