1

Files.notExists的文档中:

此方法适用于当可以确认文件不存在时需要采取措施的情况............请注意,此方法不是exists方法的补充。如果无法确定文件是否存在,则两种方法都返回 false。

理论上的差异是可以理解的。可能是File.exists()返回false,但这并不一定意味着该文件不存在。Java 7 为我们提供了Files.notExists()处理这种情况的方法。

我试过在 Windows 7 上创建一个文件,并拒绝它的所有权限(包括管理员)。但这并没有产生File.exists()返回的行为false。有人可以帮忙吗?

4

1 回答 1

1

以下代码将起作用。在您遇到拒绝权限问题的情况下,您可以检查操作系统安装分区中的文件夹。(C:\)。以下将起作用。

   Path path = Paths.get("D:\\TestFolder");
    if (Files.exists(path)) {
        System.out.println("exist");
    }
    if (Files.notExists(path)) {
        System.out.println("not exist");
    }

javadocFiles.notExists()

测试此路径所定位的文件是否不存在。此方法适用于在可以确认文件不存在时需要采取措施的情况。请注意,此方法不是 exists 方法的补充。如果无法确定文件是否存在,则两种方法都返回 false。与exists 方法一样,此方法的结果会立即过时。如果此方法指示文件确实存在,则不能保证创建文件的子序列尝试会成功。在安全敏感的应用程序中使用此方法时应小心。

于 2013-08-14T06:24:41.230 回答