日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

argparser_Java命令行界面(第22部分):argparser

發(fā)布時間:2023/12/3 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 argparser_Java命令行界面(第22部分):argparser 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

argparser

John Lloyd的argparser是本系列的第二十二篇有關(guān)基于Java的命令行參數(shù)解析的文章中介紹的庫。 該庫的主頁除了提供單個源代碼示例外,還提供了指向基于Javadoc的API文檔 ,JAR文件,ZIP文件和TAR文件的鏈接。 本帖子中使用的示例與本系列的前二十一個帖子中使用的示例相似,并處理文件路徑/名稱和詳細(xì)選項(xiàng)。 完整的代碼清單可在GitHub上找到 。

“定義”階段是在argparser中完成的,其中“ Holder”類的實(shí)例表示傳遞給ArgParser實(shí)例的addOption(String,Object)方法的預(yù)期選項(xiàng)。 下一個代碼清單中對此進(jìn)行了演示。

argparser的“定義”階段

final StringHolder file = new StringHolder(); final BooleanHolder verbose = new BooleanHolder();final ArgParser parser = new ArgParser("java examples.dustin.commandline.argparser.Main"); parser.addOption ("-f,--file %s #Path and name of file", file); parser.addOption ("-v,--verbose %v #Verbosity enabled?", verbose);

本系列中的許多有關(guān)從Java解析命令行參數(shù)的庫都具有使用單個參數(shù),單個方法或單個注釋元素明確說明的選項(xiàng)特征。 如代碼清單所示,argparser會將選項(xiàng)的屬性拼寫在argparser解析的“規(guī)范”字符串中。

“解析”階段是在argparser中完成的,方法是將帶有命令行參數(shù)的String[]傳遞給ArgParser類的matchAllArgs(String [])方法。 下一條代碼清單中顯示了該單個語句。

用argparser進(jìn)行“解析”階段

parser.matchAllArgs(arguments);

“查詢”階段是在argparser中通過訪問相應(yīng)“持有人”類中稱為“ 值 ”的public字段來完成的。 這顯示在下一個代碼清單中。

argparser的“審訊”階段

out.println("File path/name is: " + file.value); out.println("Verbosity is: " + verbose.value);

argparser庫還支持“幫助” /“使用”消息。 在下一個代碼清單中對此進(jìn)行了演示,如果未指定“ file”選項(xiàng)(如果其“ value”為null ),則在其中編寫用法。

argparser的“用法”

if (file.value == null) {out.println("ERROR: File path/name was not specified! Use -f or --file to specify file path/name.\n"+ parser.getHelpMessage()); }

接下來顯示的屏幕快照演示了本文中涉及的示例。 第一個圖像顯示了未指定所需的“文件”選項(xiàng)時argparser提供的“用法”。 第二個圖像顯示了長和短選項(xiàng)名稱的使用。

選擇框架或庫來幫助Java進(jìn)行命令行解析時,需要考慮argparser的特征。

  • Arparser是開源的。 對我來說,尚不清楚它是否已獲得任何特定許可的許可,但是JAR附帶有一個COPYRIGHT文件,內(nèi)容為“版權(quán)所有John E. Lloyd,2004。保留所有權(quán)利。 授予使用,復(fù)制,修改和再分發(fā)的許可,但前提是保留此版權(quán)聲明,并在適當(dāng)?shù)臅r候給予作者以榮譽(yù)。” 關(guān)于按“原樣”分發(fā)軟件的標(biāo)準(zhǔn)免責(zé)聲明。
  • argparser.jar的大小約為129 KB,但包含.java源代碼文件, .class編譯文件和Javadoc HTML文件。
  • argparser.ArgParser類的Javadoc非常出色,并且是我希望在Javadoc中定期看到基于Java的“主要”類的示例。 這是一個很好的示例,說明小型開源項(xiàng)目如何一次記錄項(xiàng)目/庫,因?yàn)檫€使用了類的Javadoc并從項(xiàng)目的主頁鏈接到該類。 該類級別的Javadoc甚至包括SimpleExample源代碼(也位于分布式JAR文件中),以提供有關(guān)如何使用類和庫的示例。
  • 因?yàn)閍rgparser是使用“ 主要版本:46 ”編譯的,所以它應(yīng)與早于JDK 1.2的Java版本一起運(yùn)行!

argparser庫很小,易于使用。 對于那些希望使用小型庫完成基本命令行處理的人來說,它可能最有吸引力,尤其對于那些仍然可能在老版本的JDK中運(yùn)行其基于Java的命令行處理代碼的人,它尤其有吸引力。 使該庫與本系列中的許多其他庫不同的幾件事是其出色的基于Javadoc的API文檔以及其針對選項(xiàng)特征的字符串規(guī)范方法。

其他參考

  • argparser項(xiàng)目頁面
  • argparser API文檔 (Javadoc)
  • argparser.jar下載

翻譯自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-22-argparser.html

argparser

總結(jié)

以上是生活随笔為你收集整理的argparser_Java命令行界面(第22部分):argparser的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。