2014-01-22 38 views
0

我正在使用Struts2和IDE Eclipse。我有一個chart.xml文件,該文件被放置在WEB-INF文件夾中,我試圖讀取該文件爲:從Eclipse的WEB-INF文件夾讀取文件

String path=ServletActionContext.getServletContext().getRealPath("/WEB_INF/chart.xml"); 
    File XMLfile = new File(path); 

但是無法讀取它。我收到以下錯誤:

javax.xml.bind.UnmarshalException 
- with linked exception: 
[java.io.FileNotFoundException: F:\doc\Mavenex\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\EFW11\WEB-INF\chart1.xm (The system cannot find the file specified)] 

我該怎麼辦?

+0

您可以將該文件放在F:\ doc \ Mavenex \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp1 \ wtpwebapps \ EFW11 \ WEB-INF \此目錄中。 –

+0

感謝您的回覆,我需要找到WEB-INF文件夾的確切位置 – user3090158

回答

0

WEB-INF是項目結構的專用目錄,只能由Web服務器訪問。您無法從WEB-INF目錄讀取文件。將您的文件放入其他文件夾並嘗試讀取它。

+0

Lalit感謝您的回覆,我把我的文件放在WebContet中仍然會出現相同的錯誤 – user3090158

+0

您必須嘗試'File xmlfile = new File(ServletActionContext.getServletContext()。 getRealPath( 「/ filename.xml中」));」 –

+0

我創建一個屬性文件,並將文件路徑放在屬性文件中,並從屬性文件中讀取該文件路徑 – user3090158

1

ServletContext.java有兩個API可用於操作資源。而不是使用File類來獲取文件,使用這些API,它們對於你想要做的事非常有用。它們是getResourceAsStream(java.lang.String path),它返回一個java.io.InputStream and getResource(java.lang.String path)which returns a java.net.URL`。

相關問題