签名的Java applet无法访问本地文件系统

时间:2011-10-31 17:18:02

标签: java browser applet filesystems signed-applet

我编写了一个应该比较文件的applet。它计算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() {...});

......它仍然无能为力。它的问题是什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

问题是apache.commons和Guava库在applet中无法正常工作。 手工重写此代码后,最终工作。