【问题标题】:How do I access a text file from within my war如何从我的战争中访问文本文件
【发布时间】:2009-11-20 04:04:41
【问题描述】:

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

WAR的结构是:

战争
来源
- 型号
- 网络
构建
网页内容
元信息
WEB-INF
锂电池

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

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

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

【问题讨论】:

    标签: java configuration servlets jakarta-ee war


    【解决方案1】:

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        执行此操作的一种方法带有一个警告,我将在下面解释。你应该这样做:

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

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

        【讨论】:

        • 是的,我正在使用 Tomcat,它会进行扩展
        • @Ankur:我的答案回来了。我暂时删除了它以解决@ChssPly76 发现的问题。
        【解决方案4】:

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

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

        【讨论】:

        • 适用于类路径中的资源,但不适用于 webcontent。
        猜你喜欢
        • 1970-01-01
        • 2022-01-26
        • 1970-01-01
        • 2011-03-18
        • 2014-06-04
        • 2013-09-14
        • 2011-10-18
        • 1970-01-01
        • 2018-11-03
        相关资源
        最近更新 更多