我在我的程序中使用ini4j,当我启动时它运行得很好。问题是当我将其作为applet(来自网站)启动时。在我使用ini4j之前,applet工作了,但现在我明白了:
Tue Mar 12 14:19:26 CET 2013 ERROR:access denied ("java.util.PropertyPermission" "user.dir" "read")
java.security.AccessControlException: access denied ("java.util.PropertyPermission" "user.dir" "read")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at java.io.Win32FileSystem.getUserPath(Unknown Source)
at java.io.Win32FileSystem.resolve(Unknown Source)
at java.io.File.getAbsolutePath(Unknown Source)
at java.io.File.getAbsoluteFile(Unknown Source)
at java.io.File.toURI(Unknown Source)
at org.ini4j.Ini.load(Ini.java:114)
at org.ini4j.Ini.load(Ini.java:99)
at org.ini4j.Ini.<init>(Ini.java:69)
at GameState.init(GameState.java:53)
at Main.initStatesList(Main.java:29)
at org.newdawn.slick.state.StateBasedGame.init(StateBasedGame.java:164)
at org.newdawn.slick.AppletGameContainer$Container.initApplet(AppletGameContainer.java:272)
at org.newdawn.slick.AppletGameContainer$ContainerPanel.initGL(AppletGameContainer.java:229)
at org.newdawn.slick.AppletGameContainer$ContainerPanel.start(AppletGameContainer.java:216)
at org.newdawn.slick.AppletGameContainer$1.run(AppletGameContainer.java:92)
代码发生时:
try {
ini = new Ini(new File("res/config.ini"));
} catch (InvalidFileFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}