如果它不能为红色,那么它最可能不是你期望的。根据你发布的代码判断,我想你的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