How to read a text file from a web application
Solution 1
I copied my text file into the WEB-INF/classes
folder and used this.getClass().getClassLoader().getResourceAsStream("/myfile.txt")
and it worked.
Thanks all.
Solution 2
There is a similar thread in Java - Relative path of a file in a java web application.
If you want to know in real time the directory, you can access the class ServletContext methods. I believe that the method getContextPath
might be useful to you.
TheCoder
Updated on September 10, 2020Comments
-
TheCoder almost 4 years
I am writing a Jersey Restful service to be deployed on Tomcat via a war file.
The service needs to read data in 3 text files. The text files need to exist on the file system or read from the classpath. I have tried to read the data from the file system and classpath but neither are working. I would be happy with either way - it doesn't matter.
If it was to use the following code,can someone tell me where to place the text file specified so that the code picks up the file?
BufferedReader br = new BufferedReader(new InputStreamReader (this.getClass().getClassLoader().getResourceAsStream("myfile.txt")));
I am getting a null pointer exception.
If I was to read the file from the file system, use the following code, where do I place the files in my Jar?
FileInputStream fs = new FileInputStream("myFile.txt"); DataInputStream is = new DataInputStream(fs); BufferedReader br = new BufferedReader(new InputStreamReader(is));
I am getting a FileNotFound exception.
Any suggestions are welcome.
-
TheCoder about 12 yearsI've tried that. I have been using every combination of paths and placing the file in different locations but my app cannot find the file. Can you give me an example of a path string and location?