Java Properties 类
Properties 是 Hashtable 的子类。它用于维护键为字符串、值也为字符串的值列表。
Properties 类被许多其他 Java 类使用。例如,在获取环境变量时,System.getProperties( ) 返回的就是 Properties 对象的类型。
Properties 定义了以下实例变量。该变量保存了与 Properties 对象关联的默认属性列表。
Properties defaults;
以下是由属性类提供的构造函数列表。
序号 | 构造函数及描述 |
---|---|
1 | Properties( ) 这个构造函数创建一个没有默认值的Properties对象。 |
2 | Properties(Properties propDefault) 创建一个使用propDefault作为默认值的对象。无论哪种情况,属性列表都是空的。 |
除了Hashtable定义的方法外,Properties还定义了以下方法:
序号 | 方法与描述 |
---|---|
1 | String getProperty(String key) 返回与指定键相关联的值。如果键既不在列表中,也不在默认属性列表中,则返回null对象。 |
2 | String getProperty(String key, String defaultProperty) 返回与指定键相关联的值;如果键既不在列表中,也不在默认属性列表中,则返回defaultProperty。 |
3 | void list(PrintStream streamOut) 将属性列表发送到链接到streamOut的输出流。 |
4 | void list(PrintWriter streamOut) 将属性列表发送到链接到streamOut的输出流。 |
5 | void load(InputStream streamIn) throws IOException 从链接到streamIn的输入流中输入属性列表。 |
6 | Enumeration propertyNames( ) 返回键的枚举。这也包括默认属性列表中找到的键。 |
7 | Object setProperty(String key, String value) 将指定的键与指定的值相关联。返回与该键关联的先前值,如果没有这样的关联则返回null。 |
8 | void store(OutputStream streamOut, String description) 在写入由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.