IO流之 Properties
2019-08-18 本文已影响0人
测试员
概述
1.Properties 表示一个持久的Map集合
2.Properties 可保存在流中,或从流中加载
3.属性列表每个键及其对应值都是一个字符串
特殊功能
保存一对属性。
1.ObjectsetProperty(Stringkey,Stringval)
使用此属性列表中指定的键搜索属性值。
2.StringgetProperty(Stringkey)
所有键的名称的集合。
3.Enumeration<String>stringPropertyNames()
从字节输入流中读取键值对
4.load()
把配置文件打在到内存中
5.store()
使用例子
package com.yuan.io.learn;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Properties;
import java.util.Set;
public class PropertiesDemo {
// 概述案例演示
@SuppressWarnings("all")
private static void properTest1() {
Properties p = new Properties();
p.put("name", "姓名");
p.put("age", "年龄");
p.put("tel", "17682300501");
System.out.println(p);
}
/**
* >保存一对属性。
* 1.Object setProperty(String key,String val)
* 使用此属性列表中指定的键搜索属性值。
* 2.String getProperty(String key)
* 所有键的名称的集合。
* 3.Enumeration<String> stringPropertyNames()
*
*/
@SuppressWarnings("all")
private static void testEnumeration() {
Properties p = new Properties();
p.put("name", "姓名");
p.put("age", "年龄");
p.put("tel", "17682300501");
p.setProperty("interest","兴趣");
System.out.println(p.getProperty("name"));
final Set<String> set = p.stringPropertyNames();
for (String s : set) {
System.out.println("s = " + s);
}
System.out.println("=============================================");
Enumeration<String> em = (Enumeration<String>) p.propertyNames();
while(em.hasMoreElements()){
//获取每一个键
String key = em.nextElement();
//获取每个键的值
String val = p.getProperty(key);
//打印
System.out.println(key+"=="+val);
}
}
/** 4.5.特殊功能案例演示
*
* 从字节输入流中读取键值对
* 4. load()
* 把配置文件打在到内存中
* 5.store()
* @throws IOException
* @throws FileNotFoundException
*/
@SuppressWarnings("all")
private static void lastTest() throws IOException, FileNotFoundException {
//创建p
Properties p = new Properties();
//把配置文件打在到内存中
p.load(new FileInputStream("peizhi.properties"));
//打印测试 结果完美
System.out.println(p);
//修改一下
p.setProperty("name","名字");
//添加到配置文件中
p.store(new FileOutputStream("peizhi.properties"), "说明");
//打印测试 结果完美
System.out.println(p);
}
}
总结:
1.父类是HashTable,是个双链集合
2.用来加载配置文件