Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-如果文件夹为空或已满,则独立删除文件夹_Java_Directory - Fatal编程技术网

Java-如果文件夹为空或已满,则独立删除文件夹

Java-如果文件夹为空或已满,则独立删除文件夹,java,directory,Java,Directory,我需要删除一个文件夹/目录或内容,无论您是否有,仅针对JAVA folder.delete() 这是行不通的 我一直在寻找,但它们都是过时的方法尝试使用: FileUtils.deleteDirectory(File directory); 有关详细信息,请转到和文件夹。删除()仅在文件夹为空时才会删除该文件夹 如果要删除整个文件夹树,需要遍历它,删除其中的所有文件,然后删除文件夹本身 您可以使用Files.walkFileTree来完成以下操作: public static void

我需要删除一个文件夹/目录或内容,无论您是否有,仅针对JAVA

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中下载它我更改了链接虽然我喜欢你的方法,但我不能使用外部库。。。活动规则