你能够轻松地使用java标准的传递标志的方式获得一个简单且功能强大的命令行应用。事实上,传递进来的标志不仅仅在main方法中有效。
java命令直接将带有-d的标志传递给了system类的properties对象。这允许通过system.getproperty的方式检出这个标志。
通过java -dflag=jack运行下面的代码将在屏幕上输出“jack”。
public class showflag {
static public void main(string[] args) {
string flag = system.getproperty("flag");
system.err.println(flag);
}
}
如果想查看所有的属性,你可以运行下面的代码:
import java.util.properties;
public class showall {
static public void main(string[] args) {
properties sysprops = system.getproperties();
sysprops.list(system.err);
}
}
当传递新的系统属性的时候,通常采用以域名倒序的风格,例如:
java -dcom.generationjava.someproduct.color=green
rather than:
java -dcolor=green
这个技巧能能防止你的标记和传递进来的其它系统属性冲突。
这只是一个简单类的例子,对于一个完备的java命令行应用其实需要使用合适的参数处理器。这个参数处理器能够帮助校验是否允许一个特定的标记,它也允许简单的一个字符的标记和值的自动转换。
闽公网安备 35060202000074号