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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java登录界面命令_Java命令行界面(第16部分):JArgp

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

java登錄界面命令

這篇文章中介紹的基于Java的命令行參數(shù)處理庫是IBM developerWorks文章Java編程動態(tài)性,第3部分,應用的反射 (第2003 部分,此歸檔文章于2016年“歸檔”,但仍可通過PDF下載 )的特色庫。 。 該庫稱為JArgp ( Java命令行參數(shù)處理庫 ),在其主頁上定義為“用于在Java中處理命令行參數(shù)的庫”。 該頁面添加:“與大多數(shù)其他此類庫不同,JArgp使用反射將實際值直接存儲到目標應用程序對象中的字段。” JArgp 1.0在這篇文章中具有特色。

JArgp是一個簡約的庫,如JArgp JAR中的少數(shù)類所示。

在JArgp中,“定義”階段是通過指定ParameterDef實例數(shù)組來完成的。 可以編寫自定義類來擴展ParameterDef類,但是我將能夠使用該類提供的兩個擴展( StringDef和BoolDef )來實現(xiàn)本系列前面的文章中實現(xiàn)的文件路徑/名稱和詳細參數(shù)。 這在下一個代碼清單中得到了示例(完整的代碼將在GitHub上提供 )。

JArgp的“定義”階段

private static final ParameterDef[] PARAMETERS_DEFINITIONS = {new StringDef('f', "file", "File path and name"),new BoolDef('v', "verbose", "Verbosity level") };

ParameterDef擴展類StringDef和BoolDef的構造函數(shù)的初始參數(shù)是單個字符,它將成為命令行標志。 在這種情況下,定義的命令行參數(shù)標志對于文件路徑/名稱將為“ -f”,對于詳細程度將為“ -v”。 每個構造函數(shù)的第二個參數(shù)是將與命令行標志關聯(lián)的任何值寫入的類的字段的名稱。 每個構造函數(shù)的第三個參數(shù)是對該命令行參數(shù)標志的描述。 據(jù)我所知,無法指定“長”參數(shù)名稱(在這種情況下,無法指定--file或--verbose )。

“解析”階段是通過調用靜態(tài)ArgumentProcessor方法processArgs(String [],ParameterDef [],Object)在JArgp中完成的。 下一個代碼清單中對此進行了舉例說明。

JArgp中的“解析”

final Main instance = new Main(); // The integer returned by the next invocation is actually the // zero-based index of next argument to be processed final int numberArgumentsProcessed= ArgumentProcessor.processArgs( arguments, PARAMETERS_DEFINITIONS, instance);

通過訪問實例中名稱與參數(shù)定義中提供的名稱匹配的字段,可以實現(xiàn)JArgp的“詢問”階段。 這顯示在下一個代碼清單中。

JArgp中的“審訊”階段

out.println("File path/name is " + instance.file+ " and verbosity is " + instance.verbose);

下一個屏幕快照演示了到目前為止顯示的代碼的使用。

如果我想在定義命令行標志時將我提供的描述應用于命令行標志,則可以使用實例方法進行解析,而不是使用前面介紹的靜態(tài)函數(shù)方法。 下一個代碼清單中對此進行了演示。

final Main instance = new Main(); final ArgumentProcessor argumentProcessor= new ArgumentProcessor(PARAMETERS_DEFINITIONS); argumentProcessor.processArgs(arguments, instance); argumentProcessor.listParameters(50, out);

上一個代碼清單的最后一行演示了如何使用ArgumentProcessor.listParameters(int,PrintStream)方法將標志及其描述寫入輸出。 下一個屏幕快照將演示此輸出。

選擇框架或庫來幫助Java進行命令行解析時,有Jargp的特征需要考慮。

  • JArgp是開源的,可以在主要項目頁面 ( Sosnoski Software Associates )上查看其許可證。
  • jargp.jar文件的大小僅為10 KB。
  • 這篇文章中介紹的JArgp庫不同于另一個也稱為JArgP的庫-Java Command Line Argument Parser (來自Sosnoski Software Associates的 JArg p與來自Munkei Software的 JArg P )。

JArgp是用于在Java中處理命令行參數(shù)的簡約庫。 默認情況下,它不支持“長”參數(shù)名稱,并且不支持本系列中介紹的其他某些庫那么多的功能,但是它很小且易于使用。 我之所以將它主要包含在本系列文章中是因為其背景與IBM DeveloperWorks文章相關 。

其他資源

  • JArgp項目頁面
  • JArgp下載 (SourceForge)
  • JArgp API文檔 (Javadoc)
  • Java編程動力學,第3部分,應用反射 :構建命令行參數(shù)框架

翻譯自: https://www.javacodegeeks.com/2017/09/java-command-line-interfaces-part-16-jargp.html

java登錄界面命令

總結

以上是生活随笔為你收集整理的java登录界面命令_Java命令行界面(第16部分):JArgp的全部內容,希望文章能夠幫你解決所遇到的問題。

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