你能够轻松地使用Java标准的传递标志的方式获得一个简单且功能强大的命令行应用。事实上,传递进来的标志不仅仅在main方法" />
龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

轻松处理命令行参数

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 你能够轻松地使用Java标准的传递标志的方式获得一个简单且功能强大的命令行应用。事实上,传递进来的标志不仅仅在main方法

<?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 


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


  
精彩图集

赞助商链接