【Java Args4J】简单了解Args4J库

Args4J

修改翻译整理
相关资源:https://blog.csdn.net/zhishangdezuomo/article/details/25201029/
https://blog.csdn.net/dnc8371/article/details/107260230?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase

用args4j库在Java应用程序中解析命令行参数

  • Args4J使用一个被称为Option的类来保存输入的参数.
  • 根据Option类来应用参数,每个参数可以对应一个类中的属性.
  • 类中属性用Annotation注解,在Annotation中给出该参数的选项, 还可以配置其他有用的信息.该Annotation就是 Option 注解:

从类的main(final String[])函数接收的命令行参数是传递给parseArguments(String[])方法的parseArguments(String[])数组。

Option 注解

  • 标记接收命令行开关值的field/setter。

  • 该注解可以放置在 T type的 fieldvoid methodName(T value)形式的方法上。

  • 它的access modified可以是任何内容,但如果不是public的,则application需要在允许 args4j 访问field/method的安全上下文中运行(请参阅AccessibleObject.setAccessible(boolean))。

  • 注释的行为因 T而异 — 字段的类型或方法的参数。the type of the field or the parameter of the method.

    • Boolean Switch 布尔开关
      当 T 是 boolean 时,它表示一个采用“-OPT”形式的布尔选项。设置此选项后,该属性将设置为 true。

    • String Switch 字符串开关
      当 T 是 String 时,它表示一个接受一个操作数的选项。操作数的值设置为属性。

    • Enum Switch 枚举开关
      当 T 从 Enum 派生时,它表示一个带有操作数的选项,该操作数必须是枚举常量之一。操作数和枚举常量名称之间的比较以不区分大小写的方式完成。
      例如,以下定义将代表命令行选项,如“-coin penny”或“-coin DIME”,但诸如“-coin”或“-coin abc”之类的东西是错误的。

       enum Coin {
              
       PENNY,NICKEL,DIME,QUARTER 
       }
      
      class Option{
             
        @Option(name="-coin")
      	public Coin coin;
       }
      
    • File Switch 文件
      当 T 是 File 时,它​​代表一个选项,它以文件/目录名作为操作数。

所需元素摘要

该注解有5个字段 其中name是必须的,其他四个是可选的.

  • String
    name 名称
    选项的名称,例如“-foo”或“-bar”。

  • 可选元素摘要

  • Class <? extends OptionHandler>
    handler
    指定处理命令行参数的 OptionHandler。

  • String metaVar
    当该选项带有操作数时,使用屏幕将显示这样的内容:
    需要布尔值
    指定该选项是必需的。

  • String usage
    用于显示使用屏幕的帮助字符串。

例子(提供的两个链接中)

 package test.args4j;  
   
 import org.kohsuke.args4j.Argument;  
 import org.kohsuke.args4j.CmdLineException;  
 import org.kohsuke.args4j.CmdLineParser;  
 import org.kohsuke.args4j.ExampleMode;  
 import org.kohsuke.args4j.Option;  
 import org.kohsuke.args4j.spi.BooleanOptionHandler;  
   
 import java.io.File;  
 import java.io.IOException;  
 import java.util.ArrayList;  
 import java.util.List;  
   
 public class
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值