properties的概述和作爲map的使用
properties(常用來做配置文件):是一個雙列集合,properties類表示了一個持久的屬性集,可保存在流中或從流中加載,屬性列表中每個鍵及其對應值都是一個字符串,是Hashtable的子類
(1)作爲Map集合的使用
(2)其他功能的使用
public Object setProperty(String key,String value):設置鍵和值
public String getProperty(String key):根據鍵獲取值
public Enumeration<String> stringPropertyNames():迭代,拿到所有鍵,存取到枚舉,然後遍歷
load()和store()方法
package pra_19;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Properties;
public class J_37 {
/**
* @param args
* @throws IOException
* @throws FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException, IOException {
Properties prop=new Properties();
prop.put("a", 11);
System.out.println(prop); //{a=11},作爲Map集合的使用
//特殊功能的使用
Properties prop2=new Properties();
prop2.setProperty("na", "kk");
prop2.setProperty("te", "123");
System.out.println(prop2);
Enumeration<String> en=(Enumeration<String>)prop2.propertyNames();
while(en.hasMoreElements()){
String key=en.nextElement(); //獲取Properties中的每一個鍵
System.out.println(key);
String value=prop2.getProperty(key);//根據鍵獲取值
System.out.println(value);
//做配置文件,通過IO流關聯,使用load()和store()方法
Properties prop3=new Properties();
prop3.load(new FileInputStream("config.properties")); //將文件上的鍵值對讀取到集合中
System.out.println(prop3);
prop3.setProperty("age","20"); //對其修改
System.out.println(prop3);
prop3.store(new FileOutputStream("config.properties"), "xxx"); //對其修改後寫入配置文件,第二個參數是對列表參數的描述,也可以給null
}
}
}