Properties是hashtable的子類缝其。
也就是說搜变,它具備map集合的特點缅茉。而且它里面存儲的鍵值對都是字符串凤巨。
是集合中和IO技術(shù)相結(jié)合的集合容器视乐。
該對象的特點:可以用于鍵值對形式的配置文件。
那么在加載數(shù)據(jù)時敢茁,需要數(shù)據(jù)有固定格式:鍵=值佑淀。
import java.io.*;
import java.util.*;
class PropertiesDemo
{
public static void main(String[] args) throws IOException
{
// setAndGet();
// method_1();
loadDemo();
}
//演示,如何將流中的數(shù)據(jù)存儲到集合中彰檬。
//想要將info.txt中鍵值數(shù)據(jù)存到集合中進行操作伸刃。
/*
1,用一個流和infd.txt文件關(guān)聯(lián)。
2逢倍,讀取一行數(shù)據(jù)捧颅,將該行數(shù)據(jù)用"="進行切割。
3较雕,等號左邊作為鍵碉哑,右邊作為值。存入到Properties集合中即可亮蒋。
*/
public static void method_1() throws IOException
{
BufferedReader bufr = new BufferedReader(new FileReader("info.txt"));
String line = null;
Properties prop = new Properties();
while((line=bufr.readLine())!=null)
{
String[] arr = line.split("=");
// System.out.println(arr[0]+"......"+arr[1]);
prop.setProperty(arr[0],arr[1]);
}
bufr.close();
System.out.println(prop);
}
public static void loadDemo() throws IOException
{
Properties prop = new Properties();
FileInputStream fis = new FileInputStream("info.txt");
//將流中的數(shù)據(jù)加載進集合扣典。
prop.load(fis);
prop.setProperty("xml"," 21");
FileOutputStream fos = new FileOutputStream("info.txt");
prop.store(fos,"haha");
// System.out.println(prop);
prop.list(System.out);
fos.close();
fis.close();
}
//設(shè)置和獲取元素。
public static void setAndGet()
{
Properties prop = new Properties();
prop.setProperty("zhangsan","30");
prop.setProperty("sha","3");
// System.out.println(prop);
String value = prop.getProperty("list");
// System.out.println(value);
prop.setProperty("lisi",89+"");
Set<String> names = prop.stringPropertyNames();
for (String s : names)
{
System.out.println(s+":"+prop.getProperty(s));
}
}
}