5

我如何知道使用哪个文件引用从我的 WAR 中获取文件。

WAR的结构是:

WAR
src
- 模型
- 网络
构建
  WebContent
    META-INF
    WEB-INF
      LIB

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

BufferedReader in = new BufferedReader(new FileReader("WebContent/config.txt"));

但这不起作用。有谁知道我需要通过什么参考或如何弄清楚。

4

4 回答 4

10

查看ServletContext.getResourceAsStream()。这是一个例子

于 2009-11-20T04:10:07.633 回答
2

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

于 2009-11-20T04:39:42.113 回答
1

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

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

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

于 2009-11-20T04:11:50.777 回答
-1

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

InputStream input = getClass().getClassLoader().getResourceAsStream("your/path/enter/here");

于 2009-11-24T17:26:47.303 回答