java登录界面命令_Java命令行界面(第16部分):JArgp
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯音乐手游《节奏大师》定档 11 月
- 下一篇: java 线程中创建线程_如何在Java