私は、訪問者のファイルシステムにアクセスする必要がある Java アプレットを開発しているので、ブラウザでファイル ( HTML タグがあるファイル) を開くときに、自己署名証明書.class
を含むファイルにファイルを圧縮しました。セキュリティ ポップアップを表示すると、Java コンソールで次のエラーが表示されます。.jar
call.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
読み取り専用ファイルではありません。