1

好的,所以我正在使用 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 文件的地址。任何帮助我解决这个问题的帮助将不胜感激:)

4

1 回答 1

2

异常说明了一切,您正在尝试访问 JVM 无法访问的文件。也许你可以看看文档

编辑

默认情况下,applet 不能访问客户端的文件 I/O。您需要签署您的小程序或编辑策略文件以允许它

于 2012-08-23T17:41:49.107 回答