位置:首页 > Java技术 > Java基础教程 > Java Properties类

Java Properties类

Properties 是哈希表的一个子类。它是用来维持值列表,其中的键是一个字符串,值也是一个字符串。

Properties类被许多其他的Java类使用。例如,它是对象通过System.getProperties()获得环境的值返回的类型。

Properties定义以下实例变量。这个变量保存一个Properties对象相关联的默认属性列表。

Properties defaults;

Properties 定义了两个构造函数。第一个版本创建一个没有默认值的属性的对象:

Properties( )

第二个创建一个使用propDefault 其默认值对象。在这两种情况下,属性列表是空的:

Properties(Properties propDefault)

除了由哈希表中定义的方法,Properties 定义以下方法:

SN 方法及描述
1 String getProperty(String key)
返回与key相关联的值。如果key既不在列表中,也不在默认属性列表中,null对象被返回。
2 String getProperty(String key, String defaultProperty)
返回与key相关联的值。如果键既不在列表中,也不在默认属性列表,则defaultProperty返回。
3 void list(PrintStream streamOut)
传送属性列表来链接到streamOut输出流。
4 void list(PrintWriter streamOut)
传送属性列表来链接到streamOut输出流。
5 void load(InputStream streamIn) throws IOException
输入一个属性列表与key有关联的streamIn输入流。
6 Enumeration propertyNames( )
返回键的枚举。这包括默认属性列表中找到这些键。
7 Object setProperty(String key, String value)
关联key和value。返回与key相关联的先前值,如无这种关联存在,则返回null。
8 void store(OutputStream streamOut, String description)
通过写入说明中指定的字符串后,属性列表写入链接到streamOut输出流。

例子:

下面的程序说明了几个通过这种数据结构支持的方法:

import java.util.*;

public class PropDemo {

   public static void main(String args[]) {
      Properties capitals = new Properties();
      Set states;
      String str;
      
      capitals.put("Illinois", "Springfield");
      capitals.put("Missouri", "Jefferson City");
      capitals.put("Washington", "Olympia");
      capitals.put("California", "Sacramento");
      capitals.put("Indiana", "Indianapolis");

      // Show all states and capitals in hashtable.
      states = capitals.keySet(); // get set-view of keys
      Iterator itr = states.iterator();
      while(itr.hasNext()) {
         str = (String) itr.next();
         System.out.println("The capital of " +
            str + " is " + capitals.getProperty(str) + ".");
      }
      System.out.println();

      // look for state not in list -- specify default
      str = capitals.getProperty("Florida", "Not Found");
      System.out.println("The capital of Florida is "
          + str + ".");
   }
}

这将产生以下结果:

The capital of Missouri is Jefferson City.
The capital of Illinois is Springfield.
The capital of Indiana is Indianapolis.
The capital of California is Sacramento.
The capital of Washington is Olympia.

The capital of Florida is Not Found.