如果它不能爲紅色,那麼它最可能不是你期望的。根據你發佈的代碼判斷,我想你的xml文件是用來存放在jar/package結構中的。
這是我的測試項目結構:
src
|-- main
|-- java
|-- mypackage
MyCode.java
MyResource.xml
相應的生成jar文件位於target/
目錄,如下所示:
mypackage
MyCode.class
MyResource.xml
MyResource.xml
看起來是這樣的:
<a>b</a>
MyCode.java
l ooks這樣的:
public class MyCode {
public static void main(String[] args) throws Exception {
String packagePath= "/mypackage/MyResource.xml";
String myPath ="src/main/java"+packagePath;
File f = new File(myPath);
System.out.println(f.exists());
InputStream is = Class.class.getResourceAsStream(packagePath);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document d = db.parse(is);
System.out.println(d.getElementsByTagName("a").item(0).getTextContent());
}
}
在運行時它打印:
true
b
方法getResourceAsStream用於加載資源從JAR內。希望有所幫助。
有人請幫忙 – user1914867