2009-11-20 66 views
5

如何知道用什麼文件引用來從我的WAR中獲取文件。如何從我的戰爭中訪問文本文件

戰爭的結構:

WAR
SRC
- 模型
- 網頁
構建
   的WebContent
        META-INF
        WEB-INF
            LIB

的JSP是下的WebContent,我已經把config.txt的文件WebContent文件夾下,並試圖得到它與

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

但這不起作用。有誰知道我需要通過什麼參考或我怎樣才能弄明白。

回答

1

做到這一點的一種方法有一個警告,我會在下面解釋。你應該這樣做:

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

這假定你的servlet容器被配置爲將war文件擴展成它們相應的目錄結構。

+0

是的,我使用的是Tomcat,它的擴展是 – Ankur 2009-11-20 04:13:17

+0

但由於某種原因,它不起作用 – Ankur 2009-11-20 04:20:22

+0

看看ChssPly76對Asaph答案的評論。他是對的。 – 2009-11-20 04:24:50

2

我想在閱讀文件時從路徑中移除WebContent,它應該有所幫助。 。

-1

訪問此文件應該是這樣的最安全的方式:

的InputStream輸入=的getClass()getClassLoader()的getResourceAsStream( 「你的/路徑/輸入/這裏」);

+1

它爲classpath中的資源工作,但webcontent不是。 – Yevgeniy 2012-11-12 11:33:08