我正在使用带有 Eclipse 和 Java 8 的 Tomcat 7 编写一个动态 Web 模块,我的问题是构建路径上所需的 JAVA 项目正在使用以下内容来加载文件(词典、词典等):
String filePath = "conf/test.txt"; // my test file is in WEB-INF/conf
String absolutePath = ClassLoader.getSystemResource(filePath).getPath();
Run Code Online (Sandbox Code Playgroud)
我得到一个空指针,所以它找不到该文件。
使用以下命令时,它会找到该文件:
String absolutePath = new File(filePath).getAbsolutePath();
Run Code Online (Sandbox Code Playgroud)
问题是:
我需要使用ClassLoader.getSystemResource
. 如何在不获取空指针的情况下指定文件的路径(也不使用绝对路径)?
您遇到的问题是SystemClassLoader
用于启动程序,因此考虑到您正在尝试在 Tomcat 等 Web 容器中搜索资源,这将不起作用。
如果我是你,我会使用以下内容,
\n\nthis.getClass().getResource(\xe2\x80\x9c/top.txt\xe2\x80\x9d)\n
Run Code Online (Sandbox Code Playgroud)\n