文件存在但 java file.exists() 但返回 false

Posted

技术标签:

【中文标题】文件存在但 java file.exists() 但返回 false【英文标题】:File exists but java file.exists() but return false 【发布时间】:2015-03-02 13:15:40 【问题描述】:

正如标题所说,我正在使用 java 检查文件是否存在。 该文件存储在

C:\Windows\System32.

如果我使用Netbeans 运行项目,没问题。它返回 true。

但是,如果我运行 .jar,它会返回 false。 我是计算机的管理员,但我不知道我在运行.jar 时有什么权限。

你有什么想法

【问题讨论】:

代码是? 'code' File dest = new File("C:\\Windows\\System32\\" + myFile); 然后我检查了 dest.exist() 的值。 理想情况下您应该edit that code into the question body - cmets 中的代码往往会被遗漏。 【参考方案1】:

尝试以管理员身份运行 cmd.exe,然后从该 cmd 运行您的 .jar。成为管理员并不意味着您以管理员权限启动应用程序。

【讨论】:

就是这样!如果我不以管理员身份运行 cmd.exe,它仍然返回 false。但如果我以管理员身份运行它,它会返回 true!那么如何以管理员权限运行我的 jar 文件呢? 前面已经回答过了;看这里link【参考方案2】:

根据this Oracle tutorial,您还应该检查Files.notExists - 如果它也返回false,则您的程序无法验证文件的存在。

【讨论】:

那应该是Files.notExists ... FileFiles 是不同的类。 如果不是拼写错误,就是错误。因为File.notExists(原文如此)不存在。 (生病:-))【参考方案3】:

也许您必须以管理员身份运行 CMD,然后运行您的 .jar 文件,就像您没有发布代码一样,我们无法很好地了解您的问题。

【讨论】:

以上是关于文件存在但 java file.exists() 但返回 false的主要内容,如果未能解决你的问题,请参考以下文章

File Exists() 方法查找 Eclipse Java 包中不存在的文件

File.Exists判断文件是不是存在总是返回False?

Java 中的 File.exists 有多贵

Java file.exists() 找不到 XML 文件

当文件不存在时,为啥 File.Exists() 慢得多?

File.Exists 返回 false,即使我可以看到文件 C#