簡體   English   中英

已簽名的Java Applet無法訪問本地文件系統

[英]Signed Java applet can not access local filesystem

我寫了一個應該比較文件的小程序。 它計算CRC32校驗和,然后輸出具有相同校驗和的文件。

它可以從appletviewer和獨立應用程序很好地運行。 所以我已經打包並簽名。 但是,當我在瀏覽器中啟動它時,它不起作用。

它啟動良好。 瀏覽器詢問有關此簽名的權限。 它顯示了JFileChooser對話框,我可以選擇一個目標文件夾。

問題在於它什么也不返回。 當涉及到文件迭代或校驗和計算時,它似乎悄悄地崩潰了。 (我已使用apache.commons FileUtils進行文件迭代和校驗和計算)

它可以打開.txt文件並讀取其內容。 我已經在不同的瀏覽器,不同的安全設置(甚至是Linux)上對其進行了測試。

我試圖使用“ AccessController.doPrivileged”重寫我的代碼,如下所示:

    @Override
public ArrayList<String> doInBackground() {

    return AccessController.doPrivileged(new PrivilegedAction<ArrayList<String>>() {
        public ArrayList<String> run() {...});

...而且它什么也沒做。 這是什么問題?

提前致謝。

問題在於apache.commons和Guava庫在applet中無法正常工作。 手動重寫此代碼后,其最終工作將完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM