zoukankan      html  css  js  c++  java
  • 使用CLI解析Java命令行参数

    最近准备用Java写一个数据抽取的小玩样,不过距离我上一次用Java写程序已经过去了N(N>4)年了;没有读过<Java编程思想>,深深地觉得现在写出来的代码很不Java风格..... 因为需要在命令行中用到比较复杂的参数(argument),所以想到利用CLI库来解决这一块。 CLI库的Jar文件可以从Apache Commons下载到,目前比较成熟的是CLI 1.2版本。 要使用CLI,我们需要创建一个Options Class的实例对象:
    Options Maclean=new Options();
    通过该Options对象我们可以定义命令行程序可接受的参数(argument)。加入参数的一种方式是使用addOptions()方法:
    JDUL.addOption("END" ,true,  "select the Big or Little Endian");
    为命令行程序定义可接受参数后,还需要命令行解析器CommandLineParser进一步解析输入的参数:
    BasicParser parser = new BasicParser();
    CommandLine cl = parser.parse(JDUL, args);
    下面是一段完整的命令行参数解析示例代码:
    package par;
    
    import org.apache.commons.cli.BasicParser;
    import org.apache.commons.cli.Options;
    import org.apache.commons.cli.CommandLine;
    import org.apache.commons.cli.HelpFormatter;
    import org.apache.commons.cli.ParseException;
    
    public class Main {
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
          try {
                Options JDUL = new Options();
    
                JDUL.addOption("h"   ,false, "Print help for JDUL");
                JDUL.addOption("END" ,true,  "select the Big or Little Endian");
                JDUL.addOption("SSM" ,true,  "select MSSM or ASSM");
    
                BasicParser parser = new BasicParser();
                CommandLine cl = parser.parse(JDUL, args);
    
                if( cl.hasOption('h') ) {
                    HelpFormatter f = new HelpFormatter();
                   f.printHelp("OptionsTip", JDUL);
                }
                else{
                    System.out.println(cl.getOptionValue("END"));
                    System.out.println(cl.getOptionValue("SSM"));
                }
            }
            catch(ParseException e) {
                e.printStackTrace();
            }
    
        }
    }
    具体使用该命令行解析程序:
    C:\Users\maclean>java -jar "C:\Users\maclean\Documents\NetBeansProjects\par\dist\par.jar" -h
    usage: OptionsTip
     -END <arg>   select the Big or Little Endian
     -h           Print help for JDUL
     -SSM <arg>   select MSSM or ASSM
    
    C:\Users\maclean>java -jar "C:\Users\maclean\Documents\NetBeansProjects\par\dist\par.jar" -END BIG -SSM AUTO
    BIG
    AUTO
  • 相关阅读:
    我国自主研发的先进辅助驾驶系统(ADAS)控制器产品实现量产配套
    国务院印发《新一代人工智能发展规划》
    如何删除svn标签
    【转载】DHCP流程
    1-1 如何进行自我规划?
    人要像鹰一样重生、蜕变、成长
    人的一生好像乘坐北京地铁一号线
    【转载】接触Matlab10年后的一个总结,随时使用Matlab要掌握的一些要点
    【转载】BAT 批处理脚本教程
    SNAT 和 DNAT
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2967727.html
Copyright © 2011-2022 走看看