网站建设万网,邢台精品网站建设,网站建设私活,网站建设网络营销平台: 云搜系统jsap支付JSAP #xff08; Java Simple Argument Parser #xff09;2.1是本系列文章的第二十篇#xff0c;重点是处理Java的命令行参数。 JSAP页面描述了该库存在的原因#xff1a;“我在Internet上找到了多个解析器#xff0c;所有解析器都处理了开关#xff0c;但是没… jsap支付 JSAP Java Simple Argument Parser 2.1是本系列文章的第二十篇重点是处理Java的命令行参数。 JSAP页面描述了该库存在的原因“我在Internet上找到了多个解析器所有解析器都处理了开关但是没有一个解析器具有我想要的返回类型和配置文件方面的多功能性。” JSAP提供了相当多的灵活性但通常会付出一定的复杂性。 幸运的是JSAP提供了一个名为SimpleJSAP的类它使使用JSAP完成简单任务变得更加容易。 JSAP文档以这种方式表达了这一观点 “如果您想减少处理命令行的代码量JSAP提供了一个SimpleJSAP可以为您完成大部分工作。” 下一个代码清单演示了在单个尽管很详细语句中使用SimpleJSAP来定义预期的命令行选项。 JSAP的“定义”阶段 final SimpleJSAP jsap new SimpleJSAP(Main Application,Demonstrate JSAP,new Parameter[]{new FlaggedOption(file, STRING_PARSER, NO_DEFAULT, REQUIRED, f, file, File path/name.),new Switch(verbose, v, verbose, Requests verbose output. )}); 对于上面的代码清单我使用了静态导入来减少此“定义”代码的详细程度。 这些可以在GitHub上的完整代码清单中看到。 上面的代码定义了本系列中用于解析Java命令行参数的库中所有文章中使用的两个选项文件路径/名称和详细程度。 单个字符f和v是短选项名称而长选项名称在它们各自的调用 file和verbose 之后。 请注意命令行参数的“定义”也可以通过XML进行配置 尽管此处未演示。 所述“语法分析”阶段在司法制度评估方案与其中的调用另一单个语句实现解析字符串[]上的实例方法SimpleJSAP返回的一个实例JSAPResult 。 JSAP的“解析”阶段 final JSAPResult parsedResult jsap.parse(arguments); JSAP的“询问”阶段是通过调用parse方法返回的JSAPResult实例来完成的如下面的代码清单所示。 JSAP的“审讯”阶段 out.println(File path/name is parsedResult.getString(file) .);
out.println(Verbosity level is parsedResult.getBoolean(verbose)); JSAP将生成自动用法和帮助语句。 下一个代码清单演示了如何使用SimpleJSAP.messagePrinted方法来确定是否发生了一些解析错误然后使用SimpleJSAP.getHelp消息来访问自动生成的“帮助”消息。 JSAP的“帮助” if (jsap.messagePrinted())
{out.println(jsap.getHelp());System.exit( -1 );
} 接下来的两个屏幕快照演示了如何使用JSAP执行本文中所示的代码示例。 第一张图片描述了未提供必需的-f / --file标志时打印的用法说明。 第二幅图描绘了基于JSAP的示例代码的正常行为。 选择框架或库来帮助Java进行命令行解析时需要考虑JSAP的特征。 JSAP是开源的并获得了次级GNU公共许可证 LPGL的许可 。 JSAP-2.1.jar JAR文件的大小约为68 KB基本功能不需要第三方依赖性。 从XML加载JSAP配置的能力本文未涵盖确实需要XStream 。 《 JSAP手册》更详细地讨论了当有其他可用的Java命令行解析替代方法时 为什么编写JSAP的原因 。 JSAP被其他产品使用 受到了一些用户的好评 并且已在Groovy中代替内置的 Apache Commons CLI使用 。 JSAP似乎是较旧的基于Java的命令行解析库中较流行的一种。 相对容易使用的基本功能如本文中演示的功能还可以提供更多的灵活性和可定制性以满足更复杂的需求。 其他资源 JSAP v2.1Java简单参数解析器 SourceForge上的JSAP JSAP – Java简单参数解析器v2.1手册 MvnRepository上的JSAP JSAP API文档 Javadoc 解析命令行参数– JSAP Groovy的命令行参数解析 使用JSAP 翻译自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-20-jsap.htmljsap支付