5

我正在编写一个 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 异常。

欢迎任何建议。

4

2 回答 2

4

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

谢谢大家。

于 2012-06-12T21:34:08.543 回答
1

Java中有一个类似的线程——Java Web 应用程序中文件的相对路径

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

于 2012-06-11T12:32:15.453 回答