汕头网站优化公司,北京制作网站软件,完成网站集约化建设,医疗器械三证是哪三证java登录界面命令本系列中第19个帖子的重点是从Java代码解析命令行参数是jClap #xff08; Java命令行参数解析器 #xff09;#xff0c;不应与JCLAP库混淆#xff0c;该库是我本系列前 一篇文章的重点。 上 一篇 文章介绍了Giles Winstanley#xff08; snaq.net … java登录界面命令 本系列中第19个帖子的重点是从Java代码解析命令行参数是jClap Java命令行参数解析器 不应与JCLAP库混淆该库是我本系列前 一篇文章的重点。 上 一篇 文章介绍了Giles Winstanley snaq.net 撰写的JCLAP 1.4 而本篇文章介绍了Jan So extreme_logic 撰写的jClap 2.0 。 通过实例化com.extremelogic.common.jclap.Argument的实例并调用名称为addArgument或addBooleanArgument的重载方法之一可以在com.extremelogic.common.jclap.Argument实现“定义”阶段。 下一个代码清单 在GitHub上提供完整代码中对此进行了演示。 jClap的“定义”阶段 final Argument argument new Argument(arguments);
argument.addArgument(file, Path/name of file, true, 1);
argument.addBooleanArgument(verbose, Enables verbosity, false); 前面的代码清单演示了提供长参数名称参数说明是否需要参数以及参数期望值的数量。 据我所知无法为参数添加简称单个连字符和单个字符。 通过在“定义”阶段定义的Argument实例上调用processArguments()方法可以通过jClap实现“解析”阶段。 这是单行调用但会引发检查异常ArgumentException 。 下一行代码清单显示了此单行解析。 jClap的“解析”阶段 argument.processArguments(); 使用jClap通过在“定义”阶段定义的Argument实例上调用getArgument方法来实现“询问”阶段。 下一个代码清单中对此进行了演示。 jClap的“审讯”阶段 out.println(File path/name is argument.getArgument(file) .);
out.println(Verbosity is set to argument.getArgument(verbose)); 通过在整个示例中使用的Argument实例上调用displayOptions方法jClap还可以轻松地将用法写入标准输出。 在下一个代码清单中对此进行了演示该清单显示了捕获和“处理”已检查的异常ArgumentException 。 jClap中的“用法” catch (final ArgumentException argumentException)
{out.println(ERROR: Exception encountered while processing command-line arguments - argumentException);argument.displayOptions();
} 屏幕快照演示了本文中涵盖的代码其中将jClap应用于命令行处理。 第一个图像描述了未指定必需的--file ArgumentException时对检查到的异常ArgumentException的处理还描述了jClap提供的用法语句。 第二张图描绘了参数的常规命令行处理。 选择框架或库来帮助Java进行命令行解析时需要考虑jClap的特征。 jClap是具有Apache License Version 2.0的开源。 commons-jClap-2.0.0.jar JAR的大小约为15 KB没有第三方库依赖项。 在我看来jClap仅支持带有双连字符的“长”参数名称。 jClap JAR包含使用Java SE 6 主要版本50 编译的类文件因此应与运行在Java SE 6之前的版本的Java应用程序一起使用。 所有参数都从Argument实例作为String检索没有类型的参数。 jClap JAR还包含一个“样本”应用程序 SampleArguments.class IDE反编译器例如IntelliJ IDEA的内置反编译器和Eclipse的Enhanced Class Decompiler 可以反编译以查看可以写入的源代码类型。使用jClap。 jClap是一个小型易用的库用于处理Java的命令行参数可以与运行在Java SE 6以前的Java版本上的Java应用程序一起使用。该库仅支持长参数名并以以下形式返回参数的值 String/code type in all cases. 翻译自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-19-jclap.htmljava登录界面命令