2011-11-03 174 views
0

我想知道是否有人能告訴我能夠爲我的Java小程序創建讀取文件權限的方式。Java讀取文件權限

我收到確切的例外是

java.security.AccessControlException: access denied(java.io.FilePermission filename.pdf write) 

我已經把f.setReadablef.setWriteable其中f是文件並沒有什麼。請稍微幫忙。

+0

哎呀,我的意思是說寫權限,但我不知道爲什麼我需要寫時,我正在做的是讀PDF和打印它。 – user1022570

+0

你試過f.setReadable(true)和f.setWriteable(true)嗎? – orangegoat

+0

是的,對不起,我對這兩種方法都是正確的。不行。我想這是最簡單的方法來設置權限 – user1022570

回答

2

未簽名的小程序可以執行的操作有安全限制,它不能執行的操作之一是訪問本地文件系統(請參閱here獲取完整列表)。你有幾種選擇:

  1. Sign your applet。如果用戶運行applet,它將不會運行任何安全限制。但是,使用可信證書籤署您的小程序每年至少需要100美元,如果您自簽名,那麼沒有人會信任您的小程序。即使您使用可信證書籤名,用戶也可能決定不運行它。
  2. a JNLP file設置您的小程序。這會讓你的applet使用javax.jnlp包。然後,您可以使用FileOpenServiceFileSaveService來要求用戶讓您讀/寫一個特定的文件。或者,您可以使用PersistenceService在瀏覽器中永久存儲少量數據。
+0

對於JNLP而言,使用上述服務對本地文件訪問更容易,但整個部署也更容易(庫,JVM版本,HTML代碼)。 –