2011-10-19 30 views
0
FileHelper fileList = new FileHelper(); 
ArrayList<String> files = fileList.getFiles("C://temp", 3); 

這就是我的路徑(3是多少文件夾深我想它去)。它的工作原理如何,當它只是從本地主機運行時。但是,當我將它上傳到網絡上時,我不能擁有C盤,那麼我該如何放置?Java:我正在使用File並創建一個FileHelper類,並在網頁中使用JSP調用它... help?

我已經得到的一切伊夫這個錯誤的嘗試:

org.apache.jasper.JasperException: An exception occurred processing JSP page /content/reports.jsp at line 23 

21: <% 

22: FileHelper2 fileList = new FileHelper2(); 

23: ArrayList<String> files = fileList.getFiles("C://", 3); 
+0

這似乎是一個簡單的問題。你在哪裏上傳你的應用程序?這是Windows服務器還是其他的o/s? –

+0

windows我相信 – Flame

+0

好的,請發佈額外的異常 - 例如應用程序服務器日誌中的異常堆棧跟蹤 - 如果有的話。這將幫助人們更好地幫助你。 –

回答

1

如果你的實用方法只是加載文件從文件系統,你將需要提供對系統上的文件的完整路徑您的應用程序託管的位置。

1

除了smp7d的回答,我還補充說你可以讓文件相對於你的應用程序,並檢索路徑ServletContext.getRealPath(path),或有一個絕對路徑,這是適合你的環境,或有一些相對於您的應用程序的類路徑並將其作爲資源(而不是文件系統文件)提供。

的絕對路徑值可以由-D服務器啓動參數(EW),一個servlet init-param提供(更好),特定框架的參數,從類路徑屬性的資源加載等

+0

這是一種更好的方法來加載webapps中的文件,而不是硬編碼文件路徑。 –

相關問題