gpt4 book ai didi

java - 为什么 file.exists() 失败?

转载 作者:行者123 更新时间:2023-12-02 07:00:43 27 4
gpt4 key购买 nike

我检查了甚至打印出了路径,路径存在,但找不到该文件。我在本地尝试了代码并且它有效,但我不确定原因是什么(在 Java 中)。

filepath = "C:/FolderA/test.html";
File f1 = new File(filepath)
if (!f1.exists()) {
System.out.println("File does not exist");
}

最佳答案

对于您所看到的情况,我可以想到三种可能的解释:

  1. 这可能是一条损坏的捷径。 exists() 的 javadoc 说:

    Tests whether the file or directory denoted by this abstract pathname exists.

    如果路径名是损坏的符号链接(symbolic link)的名称,则该路径表示的文件或目录不存在。 (如果您尝试用 Java 打开它,您将收到 IOException。)

  2. 应用程序没有足够的权限来查看该文件。例如,如果 FolderA 的权限使得程序无法读取它,则 exists() 必须返回 false整个路径。

  3. 不知何故,您已经设法将一个时髦的字符放入文件系统中存储的文件路径名中,或者程序中的 Java 字符串文字中。不同西方字母表中的某些 Unicode 字符看起来类似于拉丁字母(a-z、A-Z)...但事实并非如此。这些可能很难发现,具体取决于用于显示相应字符的字形。

<小时/>

前两个理论可以通过检查所涉及的文件和目录来测试。

第三个需要使用某种工具检查源代码和目录列表,这些工具可以将相应的字符呈现为十六进制。

如果您尝试从 Java 和(例如)记事本中打开路径名(用于读取),也值得看看会发生什么。

关于java - 为什么 file.exists() 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693197/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com