我在 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/