标签:System prop println key 集合 JavaSE Properties out
Properties集合
Properties作为Map集合的使用
介绍:
- 是一个Map体系的集合类
- Properties可以保存到流中或从流中加载
- 属性列表中的每个键及其对应的值都是一个字符串
基本使用
public static void main(String[] args) {
//定义Properties对象
Properties prop = new Properties();
//增:prop.put("Key", "Vlaue");
prop.put("小龙女", "尹志平");
prop.put("郭襄", "杨过");
prop.put("电话", 123123123123);
System.out.println(prop);//{小龙女=尹志平,郭襄=杨过,电话=123123123123}
//删:prop.remove("Key");
prop.remove("郭襄");
System.out.println(prop);//{小龙女=尹志平,电话=123123123123}
//改:prop.put("Key", "Vlaue"); --- 如果键不存在,那么就添加,如果键存在,那么就覆盖.
prop.put("小龙女", "杨过");
System.out.println(prop);//{小龙女=杨过,电话=123123123123}
//查:prop.get("Value");
Object value = prop.get("电话");
System.out.println(value);//123123123123
//遍历:创建prop.keySet();对象
Set<Object> keys = prop.keySet();
for (Object key : keys) {
Object value = prop.get(key);
System.out.println(key + "=" + value);
}
System.out.println("========================");
//装的是所有的键值对对象.
Set<Map.Entry<Object, Object>> entries = prop.entrySet();
for (Map.Entry<Object, Object> entry : entries) {
Object key = entry.getKey();
Object value = entry.getValue();
System.out.println(key + "=" + value);
}
}
Properties作为Map集合的特有方法
方法名 |
说明 |
Object setProperty(String key, String value) |
设置集合的键和值,都是String类型,底层调用 Hashtable方法 put |
String getProperty(String key) |
使用此属性列表中指定的键搜索属性 |
Set stringPropertyNames() |
从该属性列表中返回一个不可修改的键集,其中键及其对应的值是字符串 |
Properties prop = new Properties();
//1增:prop.setProperty("Key", "Value");(键和值,只能是String类型)
prop.setProperty("小龙女", "尹志平");
prop.setProperty("郭襄", "杨过");
prop.setProperty("黄蓉", "欧阳克");
//2获取:String return = prop.getProperty("Key");
System.out.println(prop.getProperty("小龙女"));
System.out.println(prop.getProperty("郭襄"));
System.out.println(prop.getProperty("黄蓉"));
System.out.println(prop.getProperty("周芷若"));
//参数2 是当key找不到时,返回指定的默认值
System.out.println(prop.getProperty("神雕", "我叫默认值"));
//3获取所有的key的set集合
Set<String> keys = prop.stringPropertyNames();
//遍历所有的key 获取对应的值
for (String key : keys) {
System.out.println(key + "----" + prop.getProperty(key));
}
Properties和IO流相结合的方法
和IO流结合的方法
方法名 |
说明 |
void load(Reader reader) |
从输入字符流读取属性列表(键和元素对) |
void store(Writer writer, String comments) |
将此属性列表(键和元素对)写入此 Properties表中,以适合使用 load(Reader)方法的格式写入输出字符流 |
代码1 Properties结合BufferedWriter存数据
Properties prop = new Properties();
prop.setProperty("小龙女", "尹志平");
prop.setProperty("郭襄", "杨过");
prop.setProperty("黄蓉", "欧阳克");
BufferedWriter bw = new BufferedWriter(new FileWriter("module01/persons.properties"));
//prop.store(bw, "存的是人物信息");
//参数2 是添加的注解,会存到文件中, 可以不加 传null
prop.store(bw, null);//通过字符流 把prop里的数据写入到文件
bw.close();
代码1 Properties结合BufferedReader加载数据
Properties prop1 = new Properties();
BufferedReader br = new BufferedReader(new FileReader("module01/persons.properties"));
prop1.load(br);//通过字符流,把文件的内容加载进Properties对象里
System.out.println(prop1.getProperty("小龙女"));
System.out.println(prop1.getProperty("郭襄"));
System.out.println(prop1.getProperty("黄蓉"));
标签:System,
prop,
println,
key,
集合,
JavaSE,
Properties,
out
From: https://www.cnblogs.com/lixiuxian-blogs/p/16603338.html