Java 尝试使用file.delete()时不会删除文件

Java 尝试使用file.delete()时不会删除文件,java,file,delete-file,Java,File,Delete File,我试图从我的目录中删除所有文件(不删除目录本身),我查看了stackoverflow,发现的解决方案都不起作用,我自己的代码也不起作用。它似乎删除了一些文件,但对其他文件没有,我不明白为什么。文件dewi1、dewi2、dewi3等都是彼此的副本,但在运行此代码时重命名,这些文件都未打开或正在使用 File directory = new File("C:/Users/TUDelftSID/Downloads/Primal-PvM/Primal-PvM/pox/data/logs/Pac

我试图从我的目录中删除所有文件(不删除目录本身),我查看了stackoverflow,发现的解决方案都不起作用,我自己的代码也不起作用。它似乎删除了一些文件,但对其他文件没有,我不明白为什么。文件dewi1、dewi2、dewi3等都是彼此的副本,但在运行此代码时重命名,这些文件都未打开或正在使用

    File directory = new File("C:/Users/TUDelftSID/Downloads/Primal-PvM/Primal-PvM/pox/data/logs/Packetlogs");
    File[] allFilesInDir = directory.listFiles();

    for (int K = 0; K < allFilesInDir.length; K++) {
        if (allFilesInDir[K].delete()) {
            System.out.println("Succesfully Deleted: " + allFilesInDir[K] + " !");
        } else {
            System.out.println("Failed to delete " + allFilesInDir[K] + " !");
        }
    } 
还有这个:

Arrays.stream(directory).listFiles()).forEach(File::delete);

两者都不起作用:/,如何解决这个问题?

Gerben-我看不出您的代码有任何问题

JavaDoc建议:

公共布尔删除() 删除此抽象路径名表示的文件或目录。如果此路径名表示目录,则该目录必须为空才能删除。 请注意,Files类定义了delete方法,以便在无法删除文件时引发IOException。这对于错误报告和诊断无法删除文件的原因非常有用

尝试使用 看看你是否有任何异常

Arrays.stream(directory).listFiles()).forEach(File::delete);