【问题标题】:Documentbuilder.parse returns error permission deniedDocumentbuilder.parse 返回错误权限被拒绝
【发布时间】:2012-10-31 18:40:24
【问题描述】:

我正在尝试使用以下代码在 java 中解析 xml

File fXmlFile = new File(DAL_DB_ALARM_MOVED_XML);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();

上面的代码在调用 parse() 时抛出异常 Permission Denied。有人可以帮我吗???

【问题讨论】:

    标签: java xml


    【解决方案1】:

    也许您在文件系统上有读取权限问题?
    请验证这一点,并打印 stracktrace。

    【讨论】:

    • 这似乎更像是评论而不是答案:)
    • 我拥有完全权限 drwxrwxr-x 11 database ccmbase 4096 Oct 31 12:13 db
    • /usr/local/cm/db/moved_cuc_alarm_file.xml(权限被拒绝)javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208)org.apache.xerces.jaxp.DocumentBuilderImpl。解析(未知来源) org.apache.xerces.parsers.DOMParser.parse(未知来源) org.apache.xerces.parsers.XMLParser.parse(未知来源) org.apache.xerces.parsers.XML11Configuration.parse(未知来源) org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source) org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
    • sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161) sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70) java。 io.FileInputStream.(FileInputStream.java:79) java.io.FileInputStream.(FileInputStream.java:120)
    • 是 IOException 吗?您在此处显示的权限仅适用于该目录。还要检查 XML 文件的权限。
    【解决方案2】:

    试试这里的建议。

    access right to parse an XML in java

    确保您具有读取权限并且不要让文件保持打开状态(试一试)。

    【讨论】:

    • 我尝试使用 InputStream ,仍然是同样的错误 Encountered error while xml parsing./usr/local/cm/db/moved_cuc_alarm_file.xml (Permission denied) java.util.TimerThread.run(Timer.java :462) java.util.TimerThread.mainLoop(Timer.java:512) com.cisco.unity.srm.dal.DbMonitor$CheckAlarmsTask.run(DbMonitor.java:228) com.cisco.unity.srm.dal.DbMonitor .access$100(DbMonitor.java:36) com.cisco.unity.srm.dal.DbMonitor.checkAlarms(DbMonitor.java:179) com.cisco.unity.srm.dal.DAL.monitorAlarms(DAL.java:515) java.io.FileInputStream.(FileInputStream.java:120) java.io.FileInputStream.open(Native Method)
    猜你喜欢
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多