1. 程式人生 > >輸入流加載資源文件的三種方式

輸入流加載資源文件的三種方式

mage 資源 符號 載器 文件的 classes 都是 bsp stream

三種方式大同小異,寫法有所區別而已,下圖路徑中的diagrams/helloworld.bpmn只是示例

1. 通過類加載器獲取輸入流

this.getClass().getClassLoader().getResourceAsStream("diagrams/helloworld.bpmn")

此時讀取到的是classpath下的diagrams文件下的helloworld.bpmn文件

2. this.getClass().getResourceAsStream("/diagrams/helloworld.bpmn")

此時讀取到的是classpath下的diagrams文件下的helloworld.bpmn文件,相比上一種,區別在於不使用類加載器,路徑中最前邊加上了 “ / ” 符號,它就代表classpath路徑下。


3. this.getClass().getResourceAsStream("helloworld.bpmn")

這種寫法一般很少用(我是這樣),因為它讀取的是和當前執行語句的類同一包下的文件(一般我們把配置文件都是放在classpath下,不會隨便放,所以很少用)。

順便提一下classpath在項目中的路徑:

1. 在使用maven構建的項目中 src\main\resources 這個路徑就是

技術分享圖片

2. 不使用maven構建,使用傳統的web project,簡單認為src下就是classpath

技術分享圖片

準確說classpath的路徑應該是tomcat中的 WEB-INF/classes 下,這裏才是classpath的路徑,但是src下的文件會被放到classes下,所以簡單理解,src下就是classpath吧。

技術分享圖片

輸入流加載資源文件的三種方式