Java-如果文件夹为空或已满,则独立删除文件夹
我需要删除一个文件夹/目录或内容,无论您是否有,仅针对JAVAJava-如果文件夹为空或已满,则独立删除文件夹,java,directory,Java,Directory,我需要删除一个文件夹/目录或内容,无论您是否有,仅针对JAVA folder.delete() 这是行不通的 我一直在寻找,但它们都是过时的方法尝试使用: FileUtils.deleteDirectory(File directory); 有关详细信息,请转到和文件夹。删除()仅在文件夹为空时才会删除该文件夹 如果要删除整个文件夹树,需要遍历它,删除其中的所有文件,然后删除文件夹本身 您可以使用Files.walkFileTree来完成以下操作: public static void
folder.delete()
这是行不通的
我一直在寻找,但它们都是过时的方法尝试使用:
FileUtils.deleteDirectory(File directory);
有关详细信息,请转到和文件夹。删除()仅在文件夹为空时才会删除该文件夹
如果要删除整个文件夹树,需要遍历它,删除其中的所有文件,然后删除文件夹本身
您可以使用Files.walkFileTree
来完成以下操作:
public static void deleteEntireFolder(File folder) throws IOException {
if (!folder.isDirectory()) {
folder.delete();
return;
}
Files.walkFileTree(Paths.get(
folder.getAbsolutePath()),//The folder path
EnumSet.of(FileVisitOption.FOLLOW_LINKS),//Do you want to go through shortcuts?
100,//How many folders deep you want to walk.
new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
file.toFile().delete();
return FileVisitResult.CONTINUE;
}
});
}
public static void deleteEntireFolder(文件夹)引发IOException{
如果(!folder.isDirectory()){
folder.delete();
返回;
}
walkFileTree(path.get(
folder.getAbsolutePath(),//文件夹路径
EnumSet.of(FileVisitOption.FOLLOW\u链接),//是否要通过快捷方式?
100,//您要走多少文件夹深度。
新的SimpleFileVisitor(){
@凌驾
公共文件VisitResult visitFile(路径文件,基本文件属性属性属性)引发IOException{
file.toFile().delete();
返回FileVisitResult.CONTINUE;
}
});
}
您可能需要改进此方法,但就目前情况而言,它应该可以完成任务。找不到符号FileUtils@Cazs尝试在@Cazs中下载它我更改了链接虽然我喜欢你的方法,但我不能使用外部库。。。活动规则