Web專案訪問資原始檔
阿新 • • 發佈:2018-11-05
同一個Web程式的所有Servlet都共享同一個ServletContext物件,這個物件可以看作為Servlet的共享記憶體區域,在關於路徑檔案方面的API有如下4個:
- getResourcePaths 返回的是一個Set集合,引數必須以“/”為頭,集合裡面包含某一個目錄的所有子目錄和檔案的路徑名稱,都用"/"開頭,目錄有"/"結尾,某一個目錄是“根目錄+引數”所代表的目錄。Set的鍵是路徑,值是組成鍵的字元陣列。
- getResource 返回一個URL物件,必須以“/”開頭,代表的是根目錄。
- getResourceAsStream 返回某個資源的InputStream物件,實際上是打開了getResource返回的URL物件的輸入流,參與與getResource一樣。
如下為專案結構:
程式碼如下:
檔案內容以及輸入分別如下圖
程式碼中註釋那段是個留意點,可以採用Class物件的getResourceAsStream方法載入資源,它在內部使用了ClassLoader的同名方法載入,以查詢類的形式查詢資原始檔。一個類裝載器只負責載入一定目錄下的類,Web應用程式的類裝載器會搜尋classes目錄下的類,因此資源放在這下邊可以載入,如果放在其他不能搜尋的目錄下則不能載入。