兩個(gè)都可以用于從 classpath 里面進(jìn)行資源讀取, classpath包含classpath中的路徑
和classpath中的jar。
兩個(gè)方法的區(qū)別是資源的定義不同, 一個(gè)主要用于相對(duì)與一個(gè)object取資源,而另一個(gè)用于取相對(duì)于classpath的
資源,用的是絕對(duì)路徑。
在使用Class.getResourceAsStream 時(shí), 資源路徑有兩種方式, 一種以 / 開(kāi)頭,則這樣的路徑是指定絕對(duì)
路徑, 如果不以 / 開(kāi)頭, 則路徑是相對(duì)與這個(gè)class所在的包的。
在使用ClassLoader.getResourceAsStream時(shí), 路徑直接使用相對(duì)于classpath的絕對(duì)路徑。
舉例,下面的三個(gè)語(yǔ)句,實(shí)際結(jié)果是一樣的:
com.explorers.Test.class.getResourceAsStream("abc.jpg")
com.explorers.Test.class.getResourceAsStream("/com/explorers/abc.jpg")
ClassLoader.getResourceAsStream("com/explorers/abc.jpg")