轻松处理命令行参数 作者 翻译Java研究组织-公飞 Tuesday April : PM 你能够轻松地使用java标准的传递标志的方式获得一个简单且功能强大的命令行应用事实上传递进来的标志不仅仅在main方法中有效 java命令直接将带有D的标志传递给了System类的Properties对象这允许通过SystemgetProperty的方式检出这个标志 通过java Dflag=jack运行下面的代码将在屏幕上输出jack public class ShowFlag { static public void main(String[] args) { String flag = SystemgetProperty(flag); Systemerrprintln(flag); } } 如果想查看所有的属性你可以运行下面的代码 import javautilProperties; public class ShowAll { static public void main(String[] args) { Properties sysprops = SystemgetProperties(); syspropslist(Systemerr); } } 当传递新的系统属性的时候通常采用以域名倒序的风格例如 java Dcomgenerationlor=green rather than: java Dcolor=green 这个技巧能能防止你的标记和传递进来的其它系统属性沖突 这只是一个简单类的例子对于一个完备的Java命令行应用其实需要使用合适的参数处理器这个参数处理器能够帮助校验是否允许一个特定的标记它也允许简单的一个字符的标记和值的自动转换 |