java - getResourceAsStream 路径与项目结构相关?

标签 java inputstream

我知道这应该很简单,但令人惊讶的是我无法通过谷歌搜索答案。

我有这样的结构:

我的项目

|-src

|--com.mypackagename

|---MyClass.java

|-xml

|--book.xml

XMLInputFactory factory = XMLInputFactory.newInstance();
ClassLoader cl = MyClass.class.getClassLoader();
XMLStreamReader reader = factory.createXMLStreamReader(cl.getResourceAsStream("xml/book.xml"));

它没有找到我的 xml。显然,路径是错误的。请帮助我 - 我该如何设置它

最佳答案

问题是 getResourceAsStream() 只会从类路径加载资源。并且根据给定目录,您的 xml 文件不位于类路径上。因此,将您的 xml 文件放在 WEB-INF/classes/book.xml 下并按如下方式访问:

getResourceAsStream("book.xml")

关于java - getResourceAsStream 路径与项目结构相关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29466933/

相关文章:

java - XSD XSOM : How to parse xs:anyAttribute using XSOM Java library?

java - XML feed 下载到本地 XML 文件中,然后处理本地 XML 文件

java - 使用 JUnit 测试函数,其中函数获取用户输入

c# - 从 Windows 窗体应用程序向 EXE 传递多个参数

java - 在这种情况下,appdomains 是否有帮助?

java - 在java中显示Gif动画

java - 为什么在没有同步的Catalina过滤器中使用非线程安全的 "session"?

php 输入流大小限制

c++ - 以二进制模式打开输入文件流时设置 skipws 标志

java - 使用 [ :punct:] function in java 的正则表达式