How do I access a text file from within my war

有些话、适合烂在心里 提交于 2019-12-28 16:13:02

问题


How do I know what file reference to use to get a file from my WAR.

The structure of the WAR is:

WAR
src
- model
- web
build
  WebContent
    META-INF
    WEB-INF
      LIB

The JSPs are under WebContent, I have put the config.txt file under the WebContent folder and tried to get to it with

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

But this doesn't work. Does anyone know what reference I need to pass or how I can figure it out.


回答1:


Check out ServletContext.getResourceAsStream(). Here is an example.




回答2:


I think just remove WebContent from the path while reading the file and it should help.




回答3:


One way to do this comes with a caveat that I'll explain below. You should do something like this:

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

This assumes that your servlet container is configured to expand war files into their corresponding directory structure.




回答4:


The safest way to access this file should be something like this:

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



来源:https://stackoverflow.com/questions/1768270/how-do-i-access-a-text-file-from-within-my-war

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!