1. 程式人生 > >利用ClassLoader類載入器獲取專案資源和用class獲取專案資源

利用ClassLoader類載入器獲取專案資源和用class獲取專案資源

首先看想專案中的目錄


在專案中有兩個a.html  一個在專案中 另一個在專案的報下  在Demo2.java這個檔案中建立程式碼來實現用兩個方法來訪問專案資源

Java程式碼入下

package cc;

import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.io.IOUtils;


/**
 * 演示ClassLoader和Class獲取類路徑資源
 *
 */
public class Demo2 {
	/*
	 * 說ClassLoader獲取資源時,不能以“/”開頭!
	 */

	public void fun1() throws IOException {
		ClassLoader cl = Demo2.class.getClassLoader();//得到類載入器
		InputStream in = cl.getResourceAsStream("a.html");//讓類載入器去類路徑下查詢資源(專案中的a.html)
		System.out.println(IOUtils.toString(in));
	}
	
	/*
	 * 使用class來載入類路徑下的資源1
	 */

	public void fun2() throws IOException {
		Class c = Demo2.class;
		InputStream in = c.getResourceAsStream("/a.html");//與類載入器的效果相同(包中與類在一個資料夾下的a.html)
		System.out.println(IOUtils.toString(in));
	}
	
	/*
	 * 使用class來載入類路徑下的資源2
	 */
	
	public void fun3() throws IOException {
		Class c = Demo2.class;
		InputStream in = c.getResourceAsStream("a.html");//到當前Class對應的.class檔案所在目錄去載入
		System.out.println(IOUtils.toString(in));
	}
}
本專案中需要額外用到另外一個jar包 是用來控制輸入輸出的  commons-io-1.4.jar  

如需使用 自行下載