標籤:java中的getresourceass
其實這個東西我也不明白,在項目中遇到了,我隱隱的感覺這是在讀取一個檔案資訊,後來查閱了網友的相關部落格,大概的總結一些這個玩意是幹啥的。
首先,我們要知道在java中都有哪些個getResourceAsStream,以及參數的含義
主要的作用都是讀取指定的檔案,並返回一個輸入資料流對象
1.這是我在項目中見到的方式
Server.class.getResourceAsStream("jdbc.properties")//讀取指定檔案,返回一個輸入資料流InputStream對象
參數說明:這裡參數可以有兩種:一種是以“/”開頭的,表示要從項目的ClassPath開始的,如果前面沒有這個“/”,那麼表示的就是相對於該類的路徑繼續往下
例如:假設Server路徑為"/com/utils/Server.java"
那麼參數:“jdbc.properties” 就代表 "/com/utils/jdbc.properties”
“/jdbc.properties” 也就和com是同一層級的了
“jdbc/jdbc.properties” 也就是 “/com/utils/jdbc/jdbc.properties”
2.另一種方式
Server.getClassLoader.getResourceAsStream("jdbc.properties")
參數說明:這裡的參數預設是從項目的ClassPath開始的,因此參數不能夠以“/”開頭了,這樣會衝突的
3. ServletContext. getResourceAsStream(String path):預設從WebAPP根目錄下取資源,Tomcat下path是否以’/‘開頭無所謂,當然這和具體的容器實現有關。
4. Jsp下的application內建對象就是上面的ServletContext的一種實現。
總而言之:1.作用就是讀取指定的檔案,並且返回一個輸入資料流的對象,或者是一個null(當檔案不存在的時候)
2.參數只有兩種方式,一種是“/”開頭的,表示ClassPath路徑為起點,另一種是不帶“/”開頭的,表示當前類的路徑下開始