Class.getResourceAsStream 和 ClassLoader.getResourceAsStream
兩個方法的區(qū)別是資源的定義不同, 一個主要用于相對與一個object取資源,而另一個用于取相對于classpath的資源,用的是絕對路徑。
在使用Class.getResourceAsStream 時, 資源路徑有兩種方式, 一種以 / 開頭,則這樣的路徑是指定絕對
路徑, 如果不以 / 開頭, 則路徑是相對與這個class所在的包的。
在使用ClassLoader.getResourceAsStream時, 路徑直接使用相對于classpath的絕對路徑。
舉例,下面的三個語句,實際結果是一樣的:
com.explorers.Test.class.getResourceAsStream("abc.jpg")
= com.explorers.Test.class.getResourceAsStream("/com/explorers/abc.jpg")
= ClassLoader.getResourceAsStream("com/explorers/abc.jpg")