1.Properties
Properties(Java.util.Properties)主要用於讀取Java的配置文件 在平時的開發工程,有時候需要配置一些連接信息。比如數據庫之類的東東,因爲大多數都會把相應的信息配置在Properties文件中或者是在XML中。其配置文件常爲.properties文件,格式爲文本文件,文件的內容的格式是“鍵=值”的格式,文本註釋信息可以用"#"來註釋。
它提供了幾個主要的方法:
1. getProperty ( String key),用指定的鍵在此屬性列表中搜索屬性。也就是通過參數 key ,得到 key 所對應的 value。
2. load ( InputStream inStream),從輸入流中讀取屬性列表(鍵和元素對)。通過對指定的文件(比如說上面的 test.properties 文件)進行裝載來獲取該文件中的所有鍵 - 值對。以供 getProperty ( String key) 來搜索。
3. setProperty ( String key, String value) ,調用 Hashtable 的方法 put 。他通過調用基類的put方法來設置 鍵 - 值對。
4. store ( OutputStream out, String comments),以適合使用 load 方法加載到 Properties 表中的格式,將此 Properties 表中的屬性列表(鍵和元素對)寫入輸出流。與 load 方法相反,該方法將鍵 - 值對寫入到指定的文件中去。
5. clear (),清除所有裝載的鍵 - 值對。該方法在基類中提供
下面的代碼是讀取其配置信息:
Properties pro=new Properties();
pro.load(new FileInputStream("conf/itemconfig.properties")); 加載文件
或者
InputStream msgStream = test.class.getResourceAsStream("/itemconfig.properties");
pro.load(msgStream);
pro.getProperty("MERCHANT_ID","123");通過Key值讀取其Value值,如果Key不存在,則後面的值爲默認 值。
pro.setProperty("MERCHANT_Name","測試"); 向配置文件中寫入一條配置信息
//如果將其中配置信息寫入一個新的文件中,使用store方法
File outStream=new File("conf/newItemconfig.properties"); 設置新配置文件所在的位置
pro.store(new FileOutputStream(outStream), "測試"); comments是一行註釋,不寫可以傳null;
store方法的內部編碼是ISO-8859-1,ISO-8859-1是單字節編碼,自身不能顯示中文,若要顯示中文,必須和其他 能顯示中文的編碼配合,new String(target.getBytes("iso-8859-1"),"utf-8")用這個方法能轉換成utf-8的形式顯示。
2.通過XML讀取配置文件,其方法和上面類似。
Properties prop=new Properties();
File file=new File("conf/item.xml");
prop.loadFromXML(new FileInputStream(file));
prop.setProperty("ceshi", "哈哈");
File outFile=new File("itemCon.xml");
prop.storeToXML(new FileOutputStream(outFile), "測試", "UTF-8");