当前位置: 首页 > news >正文

宁夏小蚁人网站建设黑龙江省建设教育网站查询

宁夏小蚁人网站建设,黑龙江省建设教育网站查询,cms做的电影网站,做网站技巧java登录界面命令本系列有关从Java解析命令行参数的系列简要介绍了28个开源库#xff0c;这些库可用于处理Java代码中的命令行参数。 即使涵盖了这28个库#xff0c;该系列也没有涵盖用于解析Java命令行选项的所有可用开源库。 例如#xff0c;本系列文章未涉及docopt … java登录界面命令 本系列有关从Java解析命令行参数的系列简要介绍了28个开源库这些库可用于处理Java代码中的命令行参数。 即使涵盖了这28个库该系列也没有涵盖用于解析Java命令行选项的所有可用开源库。 例如本系列文章未涉及docopt dolphin getopt DPML CLI “其他” JArgP java-getopt ritopt TE-CODE Command以及可能很多我不知道的其他库。 这篇文章着眼于人们在尝试决定是否用Java滚动自己的命令行参数解析代码与使用现有的众多命令行解析库之一时可能要考虑的因素。 乍一看很容易说某人用Java开发自己的命令行解析代码可能会遭受“ Not Invented Here Syndrome”的困扰。 但是我仍然偶尔会编写自己的简单命令行处理代码并概述执行此操作的情况。 本系列涵盖的许多库都很小。 但是对于命令行解析非常简单的情况即使这些较小的库也可能比手头工作需要的库重。 我在本文中显示的示例就是可能适合此类的类型。 开发人员开发自定义命令行处理代码的可能性可能会随着所需命令行解析的复杂性增加以及向自己的部署环境引入新库的难度降低而增加。 过程也可能影响决策因为某些开发人员可能选择实施自己的命令行处理代码而不是等待使用所标识库的必要批准。 对于Java不选择使用命令行解析库的最简单情况显然是那些不需要命令行参数的情况。 实际上由于许多人使用Web服务器应用程序服务器或其他容器例如Spring来运行他们不考虑命令行的程序因此可能有更多的Java开发人员从未或很少使用命令行选项。对其应用进行解析。 即使是一些简单的基于命令行的应用程序也可以假定值或从假定的位置读取值而无需将参数传递给它们。 如果我只有一个参数要从命令行读取我将自己编写该简单代码。 Java教程的“ 命令行参数”部分介绍了Java中命令行参数的基本处理。 通过经典的“ public static void main ”函数的String[]或String...参数向Java应用程序提供Java可执行应用程序名称后的命令行中的零至许多字符串。 下面的简单代码清单指示了如何处理单个预期的命令行参数。 解析单个必需参数 /*** Demonstrate processing a single provided argument.** param arguments Command-line arguments; expecting a* String-based name.*/ public static void main(final String[] arguments) {if (arguments.length 1){out.println(\nNo name provided; please provide a name.\n);out.println(\tUSAGE: SingleArgMain name);}else{out.println(Hello arguments[0] !);} } 上面的代码很容易编写因为只有一个命令行选项它没有自变量因此它是必需的。 有了所有这些假设编写命令行解析代码相对容易。 如果应用程序需要两个参数则无需第三方库就可以直接在Java中直接处理此参数。 在下面的代码清单中对此进行了演示该清单模拟了一个应用程序该应用程序接受要验证的XML文件的名称/路径以及要对该XML进行验证的XSD的名称/路径。 解析两个必需的参数 /*** Demonstrate processing two required provided arguments.** param arguments Command-line arguments; expecting a String-based* path and file name of an XML file to be validated and a* String-based path and file name of the XSD file against which* the XML file will be validated.*/ public static void main(final String...arguments) {if (arguments.length 2){out.println(\nXML file path/name and XSD file path/name not provided.\n);out.println(\tUSAGE: TwoArgsMain xmlFilePathAndName xsdFilePathAndName);}else{out.println(The provided XML file is arguments[0] and the provided XSD file is arguments[1] .);} } 在本系列的文章中 我使用了一些示例这些示例期望一个指定文件路径/名称的必需选项和一个表示启用的详细程度的可选选项。 在所有这些示例中文件路径/名称选项是标志名称 -f和/或--file 后跟该选项的“参数”或“值”。 对于这些示例verbosity选项没有与之关联的参数或值并且-v或--verbose隐含启用的冗长性。 如果我愿意稍稍更改方法并假设第一个命令行选项是文件路径/名称并假设详细程度标志如果提供出现在Java库之后那么在没有库的Java中完成目录特别容易。文件路径/名称。 另一个使之容易实现的假设是假设由于文件路径/名称是第一个因此我实际上不需要使用-file或-f类的标志。 有了所有这些假设后下面显示代码示例。 系列示例解析一个必需的选项和一个可选的选项 /*** Demonstrate parsing of command-line options for required file* path/name and for optional verbosity.** param arguments Expected command-line arguments; first String* should be file path/name and, if applicable, second String* should be the verbosity flag (-v or --verbose).*/ public static void main(final String[] arguments) {if (arguments.length 1){out.println(\nNo file path/name provided; please provide a file path/name.\n);out.println(\tUSAGE: SeriesExample filePathAndName [-v|--verbose]);}else{final String file arguments[0];final String verboseString arguments.length 1 ? arguments[1] : ;final boolean verbose verboseString.equals(-v) || verboseString.equals(--verbose);out.println(File path/name is file and verbosity is verbose);} } 到目前为止由于这些示例的这些特征我具有相对简单的命令行解析选项 假定命令行参数的顺序不可更改。 从来没有一个以上的可选命令行参数而最后一个可选参数是预期的。 永远不需要包含标志和与该标志关联的值的命令行参数。 没有选项依赖于任何其他选项。 刚刚提到的特性使从Java解析命令行选项更加容易因为通过要求选项的顺序不允许带有必须一起处理的带有关联值的标志显着减少了要准备的排列和组合的数量所提供的String[]中的每个字符串都独立于该数组中的所有其他字符串并且最多只允许一个可选参数并要求其为最后一个。 随着命令行参数情况变得越来越复杂我对使用第三方库的渴望也越来越高。 如果我想拥有多个可选参数或者想要具有包含带有相关值的标志的选项那么我更有可能跳到第三方库来解析Java中的命令行参数。 使用本系列中涵盖的大多数第三方库无需我担心选项排序和选项名称/标志关联。 可能需要在Java中滚动自己的命令行解析代码的一种情况是当这些解析需求高度特定于现有库无法很好地处理的特定情况时或者当现有库中的任何一个都无法充分满足其需求时需要。 但是如果有30多个库可用我怀疑对于大多数人来说这种情况会经常发生。 在用Java开发自己的命令行解析代码时除了从头编写代码之外其他选择还包括派生和扩展一个开源库或者在诸如“ 使用Java解析命令行参数 ”一文中介绍的框架上构建自己的代码。 使用有效的Java框架编写命令行工具”《 Java开发者杂志 》第20和22页。 对于基于Java的小型工具本文中显示的简单命令行解析方法通常就足够了尤其是当我是唯一可能使用该工具的工具时。 但是随着Java应用程序潜在用户群的增加本文中概述的要求可能会变得繁重并且使用本系列文章中涵盖的第三方库可能有助于创建更加用户友好的命令行参数经验。 对于最简单的基于Java的工具和应用程序我也许可以摆脱自己的自制命令行解析代码。 但是对于大多数重要的Java应用程序来说第三方库会更有意义因为它为最终用户提供了更大的灵活性和易用性。 其他参考 Java教程命令行参数 ParseCmdLine.java 如何在Java中解析命令行参数 解析Java命令行程序的参数 Java中的命令行参数示例 JavaTutoring.com Java中的命令行参数 TutorialsPoint示例 Java命令行参数解析器 命令行参数 Java基础 Java中的命令行参数解析 Wikipedia 使用Java解析命令行参数 使用有效的Java框架编写命令行工具 PDF 翻译自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-29.htmljava登录界面命令
http://www.zqtcl.cn/news/903581/

相关文章:

  • 国外mod大型网站财税公司
  • 一个很好的个人网站开发做一个简单网页多少钱
  • 东莞在哪里学网站建设网站建设团队与分工
  • 网站功能插件昆明网站建设技术研发中心
  • 网站开发培训中心 市桥移动端ui
  • 高碑店地区网站建设上海排名十大装潢公司
  • 无锡自助建站网站还是新能源专业好
  • pc 手机网站 微站如何建设与维护网站
  • 大学生兼职网站开发毕设论文杭州网络排名优化
  • 做教育机器网站网站建设的步骤图
  • 桔子建站是什么平台郑州公司注册网上核名
  • 网站开发技能有哪些网站建设艾金手指科杰
  • 网站建设挂什么费用网站建设学那些课
  • 网站定位与功能分析在互联网公司做网站
  • 安阳网站建设兼职做网站推广有哪些公司
  • 网站制作的一般过程怎么用手机搭建网站
  • 备案 网站名称 怎么改深圳建网站公司
  • html 企业网站模板网站策划书免费
  • 网站建设销售ppt拖拽建站系统源码
  • 网站托管费用多少网站的开发流程
  • 周到的商城网站建设北京品牌网站
  • 网站开发费用属于什么科目网站建设考试多选题
  • c asp做网站wordpress4.5.2文章采集
  • 百度网站建设电话建立网站站建设可以吗
  • 网站后台代码在哪修改网站如何做下一页
  • 网站开发职业要求百度推广代理商与总公司的区别
  • 西安网站建设中心网页 网 址网站区别
  • 技术支持东莞网站建设机械seo岗位是什么意思
  • 做商城网站需要备案什么域名硬件开发工具有哪些
  • 网络网站制作技巧wordpress全文