文件存在但 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
... File
和Files
是不同的类。
如果不是拼写错误,就是错误。因为File.notExists
(原文如此)不存在。 (生病:-))【参考方案3】:
也许您必须以管理员身份运行 CMD,然后运行您的 .jar 文件,就像您没有发布代码一样,我们无法很好地了解您的问题。
【讨论】:
以上是关于文件存在但 java file.exists() 但返回 false的主要内容,如果未能解决你的问题,请参考以下文章
File Exists() 方法查找 Eclipse Java 包中不存在的文件