1. 程式人生 > >java讀取*.properties的配置檔案

java讀取*.properties的配置檔案

java.Util.Properties類


HashTable的子類,實現Map集合
該集合沒有泛型,鍵值都是字串
它是個可以持久化的屬性集,可以和IO物件結合使用


方法:
void load(InputSream in)
void load(Reader reader) 流物件讀取檔案中的鍵值對,儲存到集合


void store(OutputStream out,String comments)
void store(Writer writer,String comments) 將集合的鍵值對寫回檔案中儲存


getProperty(String key)通過鍵值獲取值


讀取配置檔案的一個小demo:

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;

public class PropertiesDemo {
public static void main(String[] args) {
Properties pt = new Properties();
String path = PropertiesDemo.class.getClassLoader().getResource("demo.properties").getPath();
path = path.replace("bin", "src");
System.out.println(path);
try {
pt.load(new FileInputStream(path));
String username = pt.getProperty("userName");
System.out.println(username);

//下面是兩個遍歷map集合的方法,如果你根據鍵的名字得到鍵值,用上面這個就行了。

Set<Object> set = pt.keySet();//讀取到的配置檔案放到properties集合中,遍歷它
Iterator<Object> it = set.iterator();
while(it.hasNext()){
String key = (String) it.next();
String value = pt.getProperty(key);
System.out.println(key+":"+value);
}

Set<Entry<Object, Object>> set1 = pt.entrySet();
Iterator<Entry<Object, Object>> it1 = set1.iterator();
while(it.hasNext()){
Entry<Object, Object> entry = it1.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
} catch (IOException e) {
System.out.println("獲取資訊有錯誤"+e.getMessage());
}

}




}