ポリシーファイル
JavaのポリシーファイルでFilePermissionを使う時は、パスの区切りはプラットフォーム依存で書かないとだめみたいだ。Windowsでは\\と書かないと認識されない。grantのcodeBaseのところはfile:///で指定するので、逆に/で書かないと認識されない。紛らわしいな。
で、テンポラリファイルにだけアクセス可能とする場合、Windowsではどう書けばいいのか。テンポラリファイルは、x:\Documents and Settings\user\Local Settings\Tempにできる模様。しかし、こんなの直書きなんて、あり得ない。ユーザ名が入るし。${user.home}\\Local Settings\\Tempというのも、なんか間抜けな感じ。と思ったら、${java.io.tmpdir}なんてのがあった。
grant codeBase "file:///x:/Program Files/applicationDir/*" {
permission java.io.FilePermission "${java.io.tmpdir}\\*", "read,write,delete";
};
みたいな感じだ。くどいが、${java.io.tmpdir}/*だとダメだ。口惜しい。




