私は、訪問者のファイルシステムにアクセスする必要がある Java アプレットを開発しているので、ブラウザでファイル ( HTML タグがあるファイル) を開くときに、自己署名証明書.classを含むファイルにファイルを圧縮しました。セキュリティ ポップアップを表示すると、Java コンソールで次のエラーが表示されます。.jarcall.html<applet>
java.security.AccessControlException: アクセスが拒否されました (java.io.FilePermission output.txt 書き込み)
と を使用しFileInputStreamていFileOutputStreamます。FileInputStream動作しますが FileOutputStream、なぜですか?
これが私のコードです:
try {
AccessController.doPrivileged(
new PrivilegedExceptionAction() {
@Override
public Object run() throws FileNotFoundException {
outFile = new FileOutputStream("output.txt");
inFile = new FileInputStream("input.txt");
return "test";
}
}
);
} catch (PrivilegedActionException e) {
throw (FileNotFoundException) e.getException();
}
私は特権アクションを作成するために多くの方法を試しましたが、FileInputStream常に機能していますが、そうでFileOutputStreamはありません。output.txt読み取り専用ファイルではありません。