在Java解析XML访问权
你好,我必须执行此命令:当我尝试创建一个解析器我碰到下面的错误在Java解析XML访问权
docRules = DocumentBuilderFactory.newInstance()
.newDocumentBuilder().parse(new File(IeplcDeployRules.clx));
:如果我尝试手动
java.io.FileNotFoundException: /.../IeplcDeployRules.clx (Permission denied)
阅读它的工作文件,但我不能写入它,因为以下是权限。
-rwxr-xr-x 1 ieplcop ieplcdev 3424 Aug 11 17:16 IeplcDeployRules.clx
我不想更改权限,因为文件只能从我的Java应用程序中读取。因此,我认为这是一种指定文件应该以只读模式打开的方法。
我看File()parse()和.newDocumentBuilder()的可能参数,但它们都没有让我指定该操作是只读的!
有关如何进行的任何想法?
干杯, 科技教育
我不知道是什么DocumentBuilder
内部做,我会看它的来源。但是您可以使用不同的InputSource
而不是File
,以便完全控制。例如一个FileReader。
documentBuilder.parse(new InputSource(new FileReader(...));
我已经尝试过了,但解析不能应用于这样的对象!文件或输入源只接受! – Stefano
是的,但InputSource只是一个包装...我添加了一个例子 –
你应该传递一个InputStream
到parse
方法,而不是一个File
。
例如:
docRules = DocumentBuilderFactory.newInstance()
.newDocumentBuilder().parse(new FileInputStream(new File("IeplcDeployRules.clx")));
能否请你修复代码片段吗?这可能很重要。 – biziclop
这是怎么发生的?你使用的是tomcat吗? –
我不知道什么是片段。抱歉。 – Stefano