2015-03-02 56 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文件,就像你沒有發佈代碼一樣,我們不能很好地瞭解你的問題。

相關問題