黑马程序员技术交流社区
标题:
Properties类的常用方法
[打印本页]
作者:
z13561291
时间:
2015-11-21 14:54
标题:
Properties类的常用方法
/*
Properties是hashtable的子类
也就是说它具备map集合的特点,而且它里面存储的键值对都是字符串
是集合中和IO技术相结合的集合容器
该对象的特点:可以用于键值对形式的配置文件
*/
import java.io.*;
import java.util.*;
class PropertiesDemo
{
public static void main(String[] args) throws IOException
{
loadDemo();
}
public static void loadDemo()throws IOException{ //简化method()方法
Properties prop = new Properties();
FileReader fr = new FileReader("name.txt");
prop.load(fr); //用load方法
//System.out.println(prop);
prop.list(System.out); //列出集合中键和值
prop.setProperty("wangwu","33"); //修改属性,但只在内存中
FileWriter fw = new FileWriter("name.txt");
prop.store(fw,""); //将内存中的属性写入文件
prop.list(System.out);
fw.close(); //关闭流
fr.close(); //关闭流
}
public static void method_1()throws IOException //将已有文件中的键值数据存到集合中
{
BufferedReader bufr = new BufferedReader(new FileReader("name.txt")); //创建流和name.txt关联
String line = null;
Properties prop = new Properties(); //创建一个集合
while((line=bufr.readLine())!=null){ //当读取一行不为空时
String[] arr = line.split("="); //切割line中数据以=号为根据
prop.setProperty(arr[0],arr[1]); //等号左边为键,右边为值
}
bufr.close(); //关闭流
System.out.println(prop); //输出集合中的数据
}
public static void setAndGet(){
Properties prop = new Properties();
prop.setProperty("zhangsan","20"); //设置键和值
prop.setProperty("lisi","30");
//System.out.println(prop);
String value = prop.getProperty("lisi"); //通过键来寻找值
//System.out.println(value);
prop.setProperty("lisi","40"); //把lisi的值改成40
Set<String> names = prop.stringPropertyNames(); //把键存储到集合
for(String s : names){ //增强for 循环遍历name集合
System.out.println(s+"++"+prop.getProperty(s)); //输出键和值
}
}
}
复制代码
欢迎指出错误和交流
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2