如何从Web应用程序读取文本文件
问题描述:
我正在编写Jersey Restful服务以通过战争文件部署在Tomcat上。如何从Web应用程序读取文本文件
该服务需要读取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 - Relative path of a file in a java web application。
如果您想实时了解目录,可以访问类ServletContext的方法。我相信方法getContextPath
可能对你有用。
答
我将我的文本文件复制到WEB-INF/classes
文件夹中,并使用this.getClass().getClassLoader().getResourceAsStream("/myfile.txt")
,它工作。
谢谢大家。
+0
thx,这对我有帮助 – Janiiik
我试过了。我一直在使用路径的各种组合,并将文件放在不同的位置,但我的应用程序找不到该文件。你能给我一个路径字符串和位置的例子吗? – TheCoder