好的,我正在使用JAVA DOM解析XML文件。 每当程序到达应该解析XML文件的位置时,我得到一个“AccessControlException”,说“访问被拒绝”。 我使用JAVA DOM解析了许多XML文件,这是我第一次遇到这个异常。 我做错了什么?
这是XML文件:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
</root>
以下是应该解析它的代码:
DocumentBuilderFactory bdf = DocumentBuilderFactory.newInstance();
DocumentBuilder bd = bdf.newDocumentBuilder();
Document doc = bd.parse("excersize.xml");
最后这是我得到的错误:
java.security.AccessControlException: access denied ("java.io.FilePermiss
ion" "\excersize.xml" "read")
修改
幸运的是,经过一段时间后,我使用策略文件使其工作,但无论出于何种原因,只有在键入xml文件的完整目录时它才有效
此有效:
Document doc = builder.parse("file:/B:/Programming/Java/Programs/new/excersize.xml");
但不:
Document doc = builder.parse("excersize.xml"); //The xml file is in the same directory as the java source file, the class file, and the html file
虽然这是可以容忍的,但我确实希望保持我的文件“移动就绪”,这样他们就没有任何具体的地址,而是相对于.java和.class文件的地址。任何帮助我找出这个问题的帮助将不胜感激:)
答案 0 :(得分:2)
异常说明了一切,您正在尝试访问JVM无法访问的文件。 也许你可以看一下documentation
修改强>
默认情况下,applet无法访问客户端的文件I / O. 您需要在applet上签名或edit the policy files to allow it