jw摄像_Java命令行界面(第17部分):jw-options
jw攝像
JavaWorld的文章“ 用Java處理命令行參數(shù)”: Matthias Laux博士關閉的案例介紹了一個簡單的基于Java的庫,用于處理命令行參數(shù) ,我在本文中將其稱為jw-options 。 被引用的文章提供了有關為何在構造Options類時做出某些設計決策的背景信息。 本文的“結論”描述了使用附帶的類和庫的優(yōu)點:“本文介紹了一個Java類,該類允許方便地處理Java程序的命令行選項。 該結構足夠靈活,甚至可以處理復雜的情況,同時提供了API,可以用有限的編碼工作來定義可接受的命令行語法。
此JavaWorld文章介紹的“庫”包含三個Java類: Options , OptionData和OptionSet 。 下面的屏幕快照演示了這一點,該屏幕快照顯示了options.jar的內容。
帶有“ jw-options”的“定義”階段是通過其Options和OptionSet類實現(xiàn)的。 下一個代碼清單中對此進行了演示(完整的代碼清單可在GitHub上找到 ,此處的示例與本系列以前的文章中使用的示例相似)。
帶有jw-options的“ Definition”階段
final Options options = new Options(arguments, Multiplicity.ZERO_OR_ONE); final OptionSet defaultOptions = options.getSet(); defaultOptions.addOption("f", false, Separator.BLANK, Multiplicity.ONCE); defaultOptions.addOption("v", Multiplicity.ZERO_OR_ONE);剛剛顯示的代碼清單演示了如何使用幾個OptionSet的重載addOption方法。 為了設置文件路徑和名稱( -f )選項,將調用四參數(shù)版本,其中包含標志的單字母(f),標志與其參數(shù)之間的分隔符(空格)以及應當預期標志的次數(shù)(恰好發(fā)生一次)。 冗長性的第二個參數(shù)(-v)通過調用addOption的兩個參數(shù)版本來addOption ,該版本指定標志的字符(v)及其預期出現(xiàn)的次數(shù)(零出現(xiàn)或單出現(xiàn))。
通過調用Options的check方法,可以在“ jw-options”中實現(xiàn)“解析”階段。 顧名思義,此方法也可用于檢查參數(shù)的準確性。 下一個代碼清單中對此進行了演示。
使用jw-options的“解析”階段
if (!options.check(false, false)) {out.println("ERROR: " + options.getCheckErrors());System.exit(-1); }在剛剛顯示的“解析”示例中,使用了Options類的方法getCheckErrors()來訪問解析參數(shù)中的錯誤,這些錯誤導致Options.check方法返回false 。
下一個代碼清單中演示了帶有“ jw-options”的“詢問”階段。
jw-options的“審訊”階段
out.println("File path/name is " + defaultOptions.getOption("f").getResultValue(0)); out.println("Verbosity is set to " + defaultOptions.isSet("v"));“詢問”示例演示了如何使用OptionSet的getOption方法訪問表示“ -f”選項的選項,然后調用其getResultValue(0)方法訪問與該“ -f”關聯(lián)的第一個(也是在這種情況下)值”標志。 該示例中的第二行僅通過使用OptionSet的方法isSet查詢是否已指定“ -v”標志(并且不擔心或期望與該標志關聯(lián)的值)。
接下來顯示一個屏幕快照,以演示到目前為止顯示的使用“ jw-options”的代碼。 該圖顯示了未提供預期命令行參數(shù)時報告的消息,并以兩個示例按預期使用命令行標志結尾。
選擇框架或庫來幫助Java進行命令行分析時,要考慮“ jw-options”的特征。
- “ jw-options”“庫”是開放源代碼,因為它的源代碼已在JavaWorld文章“ 在Java中處理命令行參數(shù):案例關閉且源代碼包含在JAR中可供下載的方式 ”中進行了全面介紹和討論。 作為jw-0816-command.zip ZIP文件。” 但是,該“圖書館”的許可證并不明顯。
- “ jw-options”庫很小: options.jar文件的大小約為13 KB。
- 據(jù)我所知,無法用“ jw-options”用雙連字符指定“長”標志名稱。
- 在“ jw-options” jar中的類上運行的javap命令顯示“ main version:49 ”,這意味著它是針對J2SE 5編譯的,并且可以與運行于J2SE 5的 Java上的應用程序一起使用(我注意到在Java中使用StringBuffer代碼在StringBuilder也能正常工作)。
這篇文章中討論的“ jw-options”“庫”最有可能引起那些需要將命令行處理庫與舊版Java一起使用或對學術有興趣的人。 因為此“庫”在相關的JavaWorld文章中進行了詳細描述,并且因為它是開源的,所以可以細讀代碼并查看該文章,以了解它如何完成命令行解析以及為什么使用這種方法。 鑒于“ jw-options”的許可證不明顯,并且鑒于這是一個相對“老”的庫,似乎沒有接收到更新,因此大多數(shù)Java開發(fā)人員可能更喜歡本文檔中介紹的某些替代庫。在許多情況下,“ jw-options”上的序列。
其他參考
- JavaWorld文章: 在Java中處理命令行參數(shù):案例關閉
- 下載源代碼和庫Zip文件
翻譯自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-17-jw-options.html
jw攝像
總結
以上是生活随笔為你收集整理的jw摄像_Java命令行界面(第17部分):jw-options的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flatmap_flatMap()与co
- 下一篇: 日本合资品牌手提电脑(日本合资品牌手提电