2014-04-16 18 views
2

您好我怎麼能擺脫與Java代碼,我可以手動做到這一點的C驅動器的訪問,但我想用java代碼來做到這一點java寫的文件到C驅動器訪問錯誤

這裏是我的代碼

File file=new File("C:\\Windows\\b.txt"); 
    if (!file.exists()) { 
     try { 

      file.createNewFile(); 
     } catch (IOException e) { 
      System.out.println("file not created and"); 
      e.getMessage(); 
      e.printStackTrace(); 
     } 

我的例外

java.io.IOException: Access is denied 
at java.io.WinNTFileSystem.createFileExclusively(Native Method) 
at java.io.File.createNewFile(File.java:1006) 
at tekrar.Write.main(Write.java:26)` 
+4

爲什麼要寫入'C:\ Windows'? –

+3

這是預期的行爲。如果Windows只是讓任何舊程序寫入'C:\ Windows',那麼它就比現在更容易發生惡意軟件。 –

回答

0

你不能沒有在Windows管理員特權寫在系統文件夾東西。據我所知,您不能在Java程序中請求管理員訪問權限,您必須以管理員模式運行應用程序。 看到這個問題的一些提示:Run Java file as Administrator with full privileges

P.S.你真的需要寫入Windows文件夾嗎?

1

您需要以管理員身份運行程序以編輯C:\ Windows文件夾。這是您的應該不能訪問的系統文件夾。