Java 如何从war中访问文本文件

Java 如何从war中访问文本文件,java,configuration,servlets,jakarta-ee,war,Java,Configuration,Servlets,Jakarta Ee,War,我如何知道使用什么文件引用从我的WAR中获取文件 战争的结构是: 战争 src -型号 -网络 构建 网络内容 META-INF WEB-INF 解放党 JSP位于WebContent下,我已将config.txt文件放在WebContent文件夹下,并尝试使用 BufferedReader in=new BufferedReader(新文件阅读器(“WebContent/config.txt”) 但这不起作用。有没有人知道我需要通过什么样的推荐信,或者我如何才能找到它。请查看。这里是。一种方法

我如何知道使用什么文件引用从我的WAR中获取文件

战争的结构是:

战争
src
-型号
-网络
构建
网络内容
META-INF
WEB-INF
解放党

JSP位于WebContent下,我已将config.txt文件放在WebContent文件夹下,并尝试使用

BufferedReader in=new BufferedReader(新文件阅读器(“WebContent/config.txt”)


但这不起作用。有没有人知道我需要通过什么样的推荐信,或者我如何才能找到它。

请查看。这里是。

一种方法是附带一个警告,我将在下面解释。你应该这样做:

// In a Servlet
ServletContext sc = getServletContext();
BufferedReader in = 
    new BufferedReader(new FileReader(sc.getRealPath("WebContent/config.txt"));

这假设您的servlet容器已配置为将war文件扩展到相应的目录结构中。

我认为在读取文件时从路径中删除WebContent应该会有所帮助。

访问此文件的最安全方法应该是这样的:

// In a Servlet
ServletContext sc = getServletContext();
BufferedReader in = 
    new BufferedReader(new FileReader(sc.getRealPath("WebContent/config.txt"));

InputStream input=getClass().getClassLoader().getResourceAsStream(“您的/path/enter/here”)

是的,我使用的是Tomcat,它可以expansion@Ankur当前位置我的答案回来了。我临时删除了它,以修复@ChssPly76所识别的问题。它适用于类路径中的资源,但webcontent不适用。