系统属性
系统属性
问题的描述:
通过系统属性给程序传入数据
解决方案:
系统属性是另外一种在运行时向程序传递参数的机制。每个属性都是一个属性名和属性值的映射对。属性名和属性值都是字符串。Properties 类表示这样的映射。System.getProperties方法返回系统的属性对象。System.getProperties(String)方法返回 String属性的值。System.getProperties(String, String)方法允许你在属性名不存在时返回默认值。你可以使用递归调用PropertyNames方法遍历全部属性名的集合;对每个属性名调用getProperty方法得到所有属性的值。
请看下例:
import java.util.*;
class TestSP // System Properties
{
public static void main(String[] args) {
Properties p = System.getProperties(); // 第六行
Enumeration e = p.propertyNames(); // 第七行
while (e.hasMoreElements()) {
String name = (String) e.nextElement();
if (name.equals("aaa")) {
String value = p.getProperty(name);
System.out.println("name: " + name + " value: " + value);
}
}
}
}
分析:第六行取得系统属性的集合,第七行从属性集合中得到属性名的枚举。枚举对象允许程序循环遍历其中的所有元素。这一点与迭代相似。hasMoreElements 方法判断枚举中是否还有后续元素,nextElement方法返回枚举中的下一个元素。
运行:
java -Daaa=345 TestSP //-D后面是属性的名字,=后面是属性的值 ,注意是大写的D
输出结果摘录如下:

浙公网安备 33010602011771号