正 文

轻松处理命令行参数


www.7dspace.com  更新日期:2005-12-19 5:33:14  七度空间


你能够轻松地使用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命令行应用其实需要使用合适的参数处理器。这个参数处理器能够帮助校验是否允许一个特定的标记,它也允许简单的一个字符的标记和值的自动转换。


上一篇:线程转储:命名你的线程和查看系统
下一篇:在Java中展开glob(通配符)
作者:公飞  来源:Java研究组织 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐