Java 对导致问题的jar进行签名

Java 对导致问题的jar进行签名,java,applet,signed-applet,Java,Applet,Signed Applet,我在applet中有以下代码,基本上是将一些数据写入一个文件,并作为参数传递给writeFile方法 public class appletToWrite extends Applet{ public int writeFile(String asPath, String asData, int aiOverwrite) { int j = JOptionPane.showConfirmDialog(null,asPath+ "testing gng on", "data mil gay

我在applet中有以下代码,基本上是将一些数据写入一个文件,并作为参数传递给writeFile方法

public class appletToWrite extends Applet{
public int writeFile(String asPath, String asData, int aiOverwrite)
{
    int j = JOptionPane.showConfirmDialog(null,asPath+ "testing gng on", "data mil gaya!!!", 0);
    try {
        File localFile = new File(asPath);
        if (localFile.exists()) {
            if(aiOverwrite==1){
                localFile.delete();
                j =JOptionPane.showConfirmDialog(null,"overwrite = 1", "data mil gaya!!!", 0);
            }
            else{
                j = JOptionPane.showConfirmDialog(null, "overwrite = 0", "data mil gaya!!!", 0);
                return 0;
            }
        }
        j = JOptionPane.showConfirmDialog(null, "niche aa gaye", "data mil gaya!!!", 0);
        localFile.createNewFile();
        BufferedWriter localBufferedWriter = new BufferedWriter(new FileWriter(localFile, true));
        String str1;
        localBufferedWriter.write(asData);
        localBufferedWriter.close();
        return 1;
    }
    catch (Exception localException) {
        j = JOptionPane.showConfirmDialog(null, "catch mein aa gaya "+localException.getMessage(), "data nahi gaya!!!", 0);
        localException.printStackTrace();
        return 0;
    }
}
}
我已经使用以下命令对jar进行了自签名

javac appletToWrite.java
jar cvf AppletClass.jar *.class
keytool -genkey -validity 3650 -keystore pKeyStore -alias formBuilder
keytool -selfcert -keystore pKeyStore -alias formBuilder -validity 3650
jarsigner -keystore pKeyStore AppletClass.jar formBuilder

但是它仍然没有获得在本地计算机上写入文件的所有权限。我获得的文件权限被拒绝。你知道为什么吗?

问题可能是,小程序不允许访问所有内容。取决于您的浏览器JRE设置。默认设置是在JRE文件夹中属性文件的JRE搜索中定义的,其中一个定义了它。但浏览器可以覆盖这一点


尝试在用户主文件夹中创建文件。

如果以下两种情况都正确,我建议使用完全不同的方法

这个 适用于您的用例。 用户 可以预期正在运行Java 1.6.0_10+新一代插件。 链接的演示。我写的是沙盒,只有当用户打开一个文件时,JRE才会询问他们是否想授予它权限

沙盒代码不需要数字签名

由于使用了新一代插件,因此在演示中使用了JNLPAPI。可由嵌入网页中的小程序访问。这方面的一个例子可以在中看到。

感谢您的回复
获取了答案myslef事实上,applet中的权限是允许的,只有来自外部世界的调用不允许我获取权限。我从javascript打了个电话,希望也能获得权限

你能发布例外情况的堆栈跟踪吗这是在本地机器上完成的,没有任何服务器,所以没有堆栈跟踪,只是说文件的权限被拒绝..我在签署小程序和访问本地资源进行读/写之前做了同样的事情,但不知为什么时间在制造混乱。。无法找到我要去的地方沙盒示例在我的系统上运行良好。。你能告诉我现在如何签署我的小程序吗?