Java 删除非空文件夹
Java About 1,027 wordsFiles.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);
}
});
}
}
Views: 2,071 · Posted: 2021-12-09
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...