2015-03-02 55 views
0

正如标题所说,我正在检查文件是否存在与Java。 该文件存储在文件存在但java file.exists()但返回false

C:\ Windows \ System32。

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

但是,如果我运行.jar,它返回false。 我是电脑的管理员,但我不知道当我运行.jar时有哪些特权。

你有什么想法

+6

而且代码是? – 2015-03-02 13:17:27

+0

'code'File dest = new File(“C:\\ Windows \\ System32 \\”+ myFile); – 10h02 2015-03-02 13:30:23

+0

我检查dest.exist()的值。 – 10h02 2015-03-02 13:36:14

回答

3

尝试运行CMD.EXE作为管理员,然后从这个CMD运行你的.jar。作为管理员并不意味着您要以管理员权限启动您的应用程序。

+0

就是这样! 如果我不以管理员身份运行cmd.exe,它仍会返回false。 但是,如果我作为管理员运行它,它将返回true! 那么,如何使用管理员权限运行我的jar文件? – 10h02 2015-03-02 14:30:55

+0

以前已经回答过;看到这里[链接](http://stackoverflow.com/questions/1385866/java-run-as-administrator) – pepan 2015-03-02 14:34:17

+0

非常感谢。 – 10h02 2015-03-02 14:44:22

3

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

+1

这应该是'Files.notExists' ...'File'和'Files'是不同的类。 – 2015-03-02 13:32:08

+1

优秀点。 @StephenC我很确定这是一个错字。 – Neil 2015-03-02 13:32:08

+1

如果不是拼写错误,那是错误的。因为'File.notExists'(原文如此)不存在。 (生病:-)) – 2015-03-02 13:59:58

0

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

相关问题