Java IOProperties基本功能和遍历

Properties

Map

      |——Hashtable

                 |——Properties

Properties类表示了一个持久的属性集。Properties可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串

Properties集合

特点:

1, 该集合中的键和值通常是字符串类型。

2, 集合中的数据可以保存在流中,或从流中加载。

 

构造方法摘要

Properties()
          
创建一个无默认值的空属性列表。

 

Properties(Properties defaults)
          
创建一个带有指定默认值的空属性列表。

 

 

该集合通常用于操作以键值对形式存在的配置文件中。

常用方法

String

getProperty(String key)
          
通过键获取值。

 Object

setProperty(String key, String value)
          
添加(或修改)集合元素。

Set<String>

stringPropertyNames()
          
返回此属性列表中的键集,其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键。

 void

list(PrintStream out)
          
将属性列表输出到指定的输出流。

 void

store(OutputStream out, String comments)
          
以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。

 void

store(Writer writer, String comments)
          
以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。

 void

clear()
          
将此哈希表清空,使其不包含任何键。

 V

remove(Object key)
          
从哈希表中移除该键及其相应的值。 

import java.util.Enumeration;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;

public class PropertiesDemo {
   public static void main(String[] args) {
      Properties prop = new Properties();
      prop.put("zhangsan", "30");
      prop.put("lisi", "31");
      prop.put("wangwu", "36");
      prop.put("zhaoliu", "20");
      Set<String> names = prop.stringPropertyNames();
      // 使用高级for 循环遍历
      for (String name : names) {
        String value = prop.getProperty(name);
        System.out.println(name + "=" + value);
      }
      // 使用迭代器遍历
      Iterator<String> it = names.iterator();
      while (it.hasNext()) {
        String key = it.next();
        String value = prop.getProperty(key);
        System.out.println(key + "=" + value);
      }
      // 使用枚举遍历
      Enumeration<String> e = (Enumeration<String>) prop.propertyNames();
      while (e.hasMoreElements()) {
        String key = e.nextElement();
        String value = prop.getProperty(key);
        System.out.println(key + ":" + value);
      }
   }
}