java ->properties類
Properties類介紹
Properties
類表示了一個持久的屬性集。Properties
可保存在流中或從流中加載。屬性列表中每個鍵及其對應值都是一個字符串。
特點:
1、Hashtable的子類,map集合中的方法都可以用。
2、該集合沒有泛型。鍵值都是字符串。
3、它是一個可以持久化的屬性集。鍵值可以存儲到集合中,也可以存儲到持久化的設備(硬盤、U盤、光盤)上。鍵值的來源也可以是持久化的設備。
4、有和流技術相結合的方法。
l load(InputStream) 把指定流所對應的文件中的數據,讀取出來,保存到Propertie集合中
l load(Reader)
l store
l stroe(Writer,comments);
代碼演示:
/*
*
* Properties集合,它是唯一一個能與IO流交互的集合
*
* 需求:向Properties集合中添加元素,並遍歷
*
* 方法:
* public Object setProperty(String key, String value)調用 Hashtable 的方法 put。
* public Set<String> stringPropertyNames()
* public String getProperty(String key)用指定的鍵在此屬性列表中搜索屬性
*/
public class PropertiesDemo01 {
public static void main(String[] args) {
//創建集合對象
Properties prop = new Properties();
//添加元素到集合
//prop.put(key, value);
prop.setProperty("周迅", "張學友");
prop.setProperty("李小璐", "賈乃亮");
prop.setProperty("楊冪", "劉愷威");
//System.out.println(prop);//測試的使用
//遍歷集合
Set<String> keys = prop.stringPropertyNames();
for (String key : keys) {
//通過鍵 找值
//prop.get(key)
String value = prop.getProperty(key);
System.out.println(key+"==" +value);
}
}
}
將集合中內容存儲到文件
需求:使用Properties集合,完成把集合內容存儲到IO流所對應文件中的操作
分析:
1,創建Properties集合
2,添加元素到集合
3,創建流
4,把集合中的數據存儲到流所對應的文件中
stroe(Writer,comments)
store(OutputStream,commonts)
把集合中的數據,保存到指定的流所對應的文件中,參數commonts代表對描述信息(uncoide編碼)
5,關閉流
代碼演示:
public class PropertiesDemo02 {
public static void main(String[] args) throws IOException {
//1,創建Properties集合
Properties prop = new Properties();
//2,添加元素到集合
prop.setProperty("周迅", "張學友");
prop.setProperty("李小璐", "賈乃亮");
prop.setProperty("楊冪", "劉愷威");
//3,創建流
FileWriter out = new FileWriter("prop.properties");
//4,把集合中的數據存儲到流所對應的文件中
prop.store(out, "save data");
//5,關閉流
out.close();
}
}
讀取文件中的數據,並保存到集合
需求:從屬性集文件prop.properties 中取出數據,保存到集合中
分析:
1,創建集合
2,創建流對象
3,把流所對應文件中的數據 讀取到集合中
load(InputStream) 把指定流所對應的文件中的數據,讀取出來,保存到Propertie集合中
load(Reader)
4,關閉流
5,顯示集合中的數據
代碼演示:
public class PropertiesDemo03 {
public static void main(String[] args) throws IOException {
//1,創建集合
Properties prop = new Properties();
//2,創建流對象
FileInputStream in = new FileInputStream("prop.properties");
//FileReader in = new FileReader("prop.properties");
//3,把流所對應文件中的數據 讀取到集合中
prop.load(in);
//4,關閉流
in.close();
//5,顯示集合中的數據
System.out.println(prop);
}
}
註意:使用字符流FileReader就可以完成文件中的中文讀取操作了
java ->properties類