commons.cli命令行交互

public static void main(String[] args) throws ParseException {
    String[] p = {"-h"};
    parse(p, "test");
}

public static void parse(String[] args, String cmdName) throws ParseException {

    Options options = getOptions();
    // 解析
    // 1.3.1中已经弃用针对不同格式入参对应的解析器
    // CommandLineParser parser = new PosixParser();
    CommandLineParser parser = new DefaultParser();
    CommandLine commandLine = parser.parse(options, args);

    if (commandLine.hasOption('h')) {
        HelpFormatter helpFormatter = new HelpFormatter();
        int width = 110;
        String cmdLineSyntax = cmdName;
        String header = "title";
        String footer = "bottom content";
        boolean autoUsage = true;
        // 有多个重载方法
        helpFormatter.printHelp(width, cmdLineSyntax, header, options, footer, autoUsage);
        return;
    }

}

public static Options getOptions() {

    Options options = new Options();
    // String opt         :短命令
    // String longOpt     :长命令
    // boolean hasArg     :true:有参数;false:无参数
    // String description :描述
    Option opt = new Option("h", "help", false, "Print help");
    // true:必须;false:非必须
    // 必填但没填,会抛异常MissingOptionException
    opt.setRequired(false);
    options.addOption(opt);

    opt = new Option("i", "ips", true, "ip list, eg: 127.0.0.1;127.0.0.2");
    // 必填但没填,会抛异常MissingOptionException
    opt.setRequired(false);
    options.addOption(opt);

    opt = new Option("lf", "loadFile", true, "load file form your file path");
    opt.setRequired(false);
    options.addOption(opt);

    return options;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值