たとえば、このコードをアプレット クラスで使用する場合、アプレット サンドボックスで実行します。
public void init() {
try {
class doInit implements PrivilegedExceptionAction {
public Object run() throws Exception{
File file = new File("/tmp/1.txt");
FileOutputStream fos = null;
fos = new FileOutputStream(file);
fos.write("hello world2".getBytes());
fos.close();
return null;
}
}
;
doInit di = new doInit();
AccessController.doPrivileged(di);
失敗してセキュリティ例外がスローされることはわかっています。しかし、なぜ?
File
コア Java API にありますが、 ?FileOutputStream
を使用して許可を取得できません 。doPrivileged