所以,我正在尝试使用docBuilder.parse(filepath)
这是我的代码的样子:
public void openXMLfile(String filepath) {
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(filepath);
}
catch(Exception e) {
e.printStackTrace();
}
}
我已经编写了文件的绝对路径,即:
C:\Users\"my User account"\Desktop
,是"我的用户帐户",替换为我的用户帐户的实际名称
在我的主函数中,看起来像这样:
public static void main(String[] args) {
App aplication = new App();
String filepath = "C:\Users\"my User account"\Desktop";
aplicacao.openXMLfile(filepath);
}
但是,我得到以下错误行:
java.net.MalformedURLException: unknown protocol: c
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at Trabalho.App.openXMLfile(App.java:39)
at Trabalho.App.main(App.java:70)
谁能澄清我可能做错了什么?可能是文件路径本身吗?
提前非常感谢!
parse 方法采用 URI 作为文件位置,因此类似于 file:///c:/user/
这个问题给出了一些例子 - 一个文件:对应于Windows路径名的URI应该是什么样子的?特别是保罗的评论。
例子也在 https://en.m.wikipedia.org/wiki/File_URI_scheme