Properties
类是Hashtable类的子类。它用于维护键的列表,它的键是String
类型,值也是String
类型。
许多其他Java类都在使用Properties
类。 例如,它是获取环境值时System.getProperties()
返回的对象类型。
以下是Properties
类提供的构造函数列表。
编号 | 构造函数 | 描述 |
---|---|---|
1 | Properties() |
此构造函数创建一个没有参数值的Properties 对象。 |
2 | Properties(Properties propDefault) |
创建一个使用propDefault 作为其默认值的对象。在这两种情况下,Properties 列表都是空的。 |
除了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 |
从链接到streamIng 的输入流输入属性列表。 |
6 | Enumeration propertyNames() |
返回键的枚举。这包括默认属性列表中的键。 |
7 | Object setProperty(String key, String value) |
将value 值与key 值联系起来。 返回与键关联的先前值,如果不存在此类关联,则返回null 。 |
8 | void store(OutputStream streamOut, String description) |
写入描述指定的字符串后,属性列表将写入链接到streamOut 的输出流。 |
示例
以下程序说明了此数据结构支持的几种方法 -
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
/* 文件 : PropDemo.java */
public class PropDemo {
public static void main(String args[]) {
Properties capitals = new Properties();
Set states;
String str;
capitals.put("广东", "广州");
capitals.put("海南", "海口");
capitals.put("辽宁", "沈阳");
capitals.put("山东", "济南");
capitals.put("四川", "成都");
// 在哈希表中显示所有省份和省会。
states = capitals.keySet(); // get set-view of keys
Iterator itr = states.iterator();
while (itr.hasNext()) {
str = (String) itr.next();
System.out.println(" " + str + " 的省会是:" + capitals.getProperty(str) + ".");
}
System.out.println();
// look for state not in list -- specify default
str = capitals.getProperty("北京", "未找到");
System.out.println("北京的省会是: " + str + ".");
}
}
执行上面示例代码,得到以下结果 -
四川 的省会是:成都.
海南 的省会是:海口.
广东 的省会是:广州.
辽宁 的省会是:沈阳.
山东 的省会是:济南.
北京的省会是: 未找到.