java - getResourceAsStream() 总是返回 null

标签 java web-services jboss inputstream

我在 Java Web 应用程序中具有以下结构:

TheProject
  -- [Web Pages]
  -- -- [WEB-INF]
  -- -- -- abc.txt
  -- -- index.jsp
  -- [Source Packages]
  -- -- [wservices]
  -- -- -- WS.java

WS.java 中,我在 Web 方法中使用以下代码:

InputStream fstream = this.getClass().getResourceAsStream("abc.txt");

但它总是返回一个空值。我需要从该文件中读取,并且我了解到如果您将文件放在 WEB-INF 中,您可以使用 getResourceAsStream 访问它们,但该方法总是返回一个null.

对我可能做错了什么有任何想法吗?

顺便说一句,奇怪的是这可以工作,但是在我对项目执行 Clean and Build 之后,它突然停止工作:/

最佳答案

据我所知,该文件必须位于 'this' 类所在的文件夹中,即不在 WEB-INF/classes 中,而是嵌套更深(除非你写在默认包中):

net/domain/pkg1/MyClass.java  
net/domain/pkg1/abc.txt

将文件放入您的 java 源代码应该可以工作,编译器将该文件与类文件一起复制。

关于java - getResourceAsStream() 总是返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2797162/

相关文章:

java - Drools - 如何检查输入字符串是否为数字

java - Elasticsearch如何在aggs下获取过滤器的doc_count值?

java - 线程 "main"org.apache.axis2.wsdl.codegen.CodeGenerationException : Invalid WSDL? 中的异常

java - 如何使用 BeanPropertyTarget 解决此错误?

java - 是否有保证在自定义 SOAP 处理程序中获取操作名称的方法?

jboss - Jboss netty 和 netty 的区别?

java - 为什么当存在 DateTimeField 时不调用表单的 onSubmit 方法?

java - "Java 1.7 TLS 1.2 server"和 "Java 1.6 client"之间的 SSL/TLS 握手

java - 将 ArrayList 对象分配给实例变量 - java

java - 字体 'Arial' 对 JVM 不可用