Apache commons CLI介紹和簡單應用

p34f 9年前發布 | 64K 次閱讀 常用工具包 Apache Commons

CLI 即Command Line Interface,也就是"命令行接口",它為Java 程序訪問和解析命令行參數提供了一種統一的接口。

apache Commons CLI為用戶提供了一個解釋命令行的API.

它在解釋命令行時主要有三個狀態,即:定義、解釋和詢問交互。

通過使用commons cli則可以很容易的訪問參數,而不必去循環String[] args。

這個命令需要模擬命令行輸入,可以將應用做成jar文件后輸入命令行執行,也可以將命令行包裝成參數執行。

在eclipse下運行則需要通過Run as /runConfigurations/Arguments來進行命令行參數配置 

在MyEclipse中運行此類,在工程樹中右鍵單擊該類選擇Run As --> Run Configurations ... --> 選擇第二個面板[(x)=Arguments] --> 在Program arguments

輸入參數: -p 范芳銘 -t time –h

用apacheCommons CLI實現的一個簡單的示例代碼如下:

packagetest.ffm83.commons.CLI;



importjava.util.Date;



importorg.apache.commons.cli.CommandLine;

importorg.apache.commons.cli.CommandLineParser;

importorg.apache.commons.cli.Options;

importorg.apache.commons.cli.PosixParser;

/**

 * 通過commons CLI進行簡單的命令行輸入

 * @author 范芳銘

 */

publicclass EasyCLIUsage {

    public static void main(String[] args)throws Exception {

        Options options = new Options(); 

        //true 需要帶參數,false 不用參數

        options.addOption("t", true,"display current time");//參數不可用    

        options.addOption("p", true,"person owner");//參數可用    

        options.addOption("h", false,"help");//參數可用    



        CommandLineParser parser = newPosixParser();  

        CommandLine cmd = parser.parse(options,args);    



        if (cmd.hasOption("p")){    

            String code =cmd.getOptionValue("p");    

            System.out.println("輸入參數 p:" + code);    

        }    



        if (cmd.hasOption("t")){    

            String code =cmd.getOptionValue("t");    

            System.out.println("輸入參數t:" + code + "," +new Date());    

        } 



        if (cmd.hasOption("h")){      

            System.out.println("輸入參數h:幫助:[-t][-c][-h]");    

        } 

    }

}


運行后結果為:

輸入參數 p:范芳銘

輸入參數t:time,Tue Dec 30 09:23:38 CST 2014

輸入參數h:幫助:[-t][-c][-h]

 本文由用戶 p34f 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!