【问题标题】:How to read a text file from a web application如何从 Web 应用程序中读取文本文件
【发布时间】:2012-06-11 10:26:51
【问题描述】:

我正在编写一个 Jersey Restful 服务,通过一个 war 文件部署在 Tomcat 上。

该服务需要读取 3 个文本文件中的数据。文本文件需要存在于文件系统上或从类路径中读取。我试图从文件系统和类路径中读取数据,但都没有工作。无论哪种方式我都会很高兴 - 没关系。

如果是使用下面的代码,谁能告诉我在哪里放置指定的文本文件以便代码拾取文件?

BufferedReader br = new BufferedReader(new InputStreamReader
(this.getClass().getClassLoader().getResourceAsStream("myfile.txt")));

我得到一个空指针异常。

如果我要从文件系统中读取文件,请使用以下代码,我应该将文件放在我的 Jar 中的什么位置?

FileInputStream fs = new FileInputStream("myFile.txt");
DataInputStream is = new DataInputStream(fs);
BufferedReader br = new BufferedReader(new InputStreamReader(is));

我收到 FileNotFound 异常。

欢迎提出任何建议。

【问题讨论】:

    标签: java file war


    【解决方案1】:

    我将我的文本文件复制到WEB-INF/classes 文件夹并使用this.getClass().getClassLoader().getResourceAsStream("/myfile.txt") 并且它有效。

    谢谢大家。

    【讨论】:

      【解决方案2】:

      Java - Relative path of a file in a java web application 中有类似的帖子。

      如果你想实时知道目录,你可以访问ServletContext类的方法。我相信getContextPath这个方法可能对你有用。

      【讨论】:

      • 我试过了。我一直在使用每种路径组合并将文件放在不同的位置,但我的应用程序找不到该文件。你能给我一个路径字符串和位置的例子吗?
      猜你喜欢
      • 2012-03-22
      • 2014-01-10
      • 1970-01-01
      • 2018-01-03
      • 2013-02-04
      • 2011-03-29
      • 1970-01-01
      • 2016-07-26
      • 2011-11-25
      相关资源
      最近更新 更多