通過類加載器管理資源和配置文件

原因:我們開發完成項目以後,一般都是把class的文件拷貝你別人,不會把源代碼給其他人,同時我們也不能再文件中寫死路徑,因爲在其他電腦就沒有這些資源,從而就會導致我們開發的應用沒發使用。

 

使用類加載器則可以解決這個問題,我們在開發時,eclipse在保存時就會將我們的源代碼編譯爲class文件,不是*.java的文件則原封不動的保留到bin目錄當中去。所以我們可以使用類加載器來加載我們的資源文件。

 

實例如下:

import java.io.FileInputStream;

import java.io.InputStream;

import java.util.Collection;

import java.util.Properties;

 

public class ReflectDemo3 {

 

         publicstatic void main(String[] args) throws Exception {

//第一種方式是將資源文件存放到項目的根目錄下下

//               InputStreamips = new FileInputStream("config.properties");

                   InputStreamips =ReflectDemo3.class.getClassLoader().getResourceAsStream("com/wj/reflect/config.properties");

//               ReflectDemo3.class.getResourceAsStream("config.properties");  這種方法不用寫包路徑,在其他包中只需要寫最後的一個報名後綴,例如

//               ReflectDemo3.class.getResourceAsStream("aaa/config.properties");完成報名com.wj.aaa

                   Propertiespros = new Properties();

//讀取配置文件中的內容到流中,相當於一個map,以鍵值的方式存放

                   pros.load(ips);

                  

                  

                  

                   StringclassName = pros.getProperty("className");

//使用反射的方式

                   Collectioncollection = (Collection) Class.forName(className).newInstance();

                  

                   ReflectPointpt1 = new ReflectPoint(3, 3);

                   ReflectPointpt2 = new ReflectPoint(5, 5);

                   ReflectPointpt3 = new ReflectPoint(3, 3);

                  

                   collection.add(pt1);

                   collection.add(pt2);

                   collection.add(pt3);

                   collection.add(pt1);

                  

                   System.out.println(collection.size());

         }

 

}

 

 

 

 

發佈了29 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章