【问题标题】:File can't be parsed because java can't find it文件无法解析,因为 java 找不到
【发布时间】:2019-10-04 02:29:27
【问题描述】:

我正在尝试解析一个 xml 文件,到目前为止,这就是我所写的。

public class XMLTest {

public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
    File xmlFile = new File("D:\\workspace\\sudoku baby\\sudoku.xml");
    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
    Document doc = dBuilder.parse(xmlFile);
}

它不断吐出文件未找到异常,像这样

Exception in thread "main" java.io.FileNotFoundException: D:\workspace\sudoku baby\sudoku.xml (The system cannot find the file specified)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:155)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:110)
at java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:86)
at java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:184)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:654)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:150)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:860)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:246)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:206)
at testingXML.XMLTest.main(XMLTest.java:14)

` 我已经确定它是正确的文件路径,并且经过一些测试它可以找到该文件。当我尝试解析它时会发生错误。我不确定这里的问题到底是什么,如果有人可以指出或提供帮助,那就太好了。

【问题讨论】:

  • 错误信息中的路径与您的源代码中的路径不同。确保您正在运行您认为正在运行的代码,例如删除所有已编译的代码(.class 文件)
  • 日志中提到的 testingXML.Employees 类中的错误,而不是 XML Test 类中的错误。
  • 该输出看起来不像来自该代码..."D:\\workspace\\sudoku baby\\sudoku.xml" vs. D:\Users\mtsoy\staff.xml
  • 你的路径“数独宝贝”中有一个空格,这往往会造成问题的次数
  • 有些人怀疑空间,也可以质疑 D: 上的权利。 用其他路径测试一下就行了。

标签: java xml parsing


【解决方案1】:

请尝试以下代码:

File xmlFile = new File(Paths.get("D:","workspace", "sudoku baby", "sudoku.xml").toString());

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 2019-03-11
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    相关资源
    最近更新 更多