Java讀取命令行配置參數

用慣了控制檯的程序之後,最印象深刻的是其的簡單與快捷,雖沒有圖形界面那樣吸引人的眼球,但卻也足以迷倒衆生。

瞎扯了一通算是開了個頭,下面就直入正題吧。

控制檯程序的運行少不了要通過控制檯來傳遞參數,譬如:

 

ls -la

 

這是shell腳本的常用命令,其就是通過後置參數來傳遞相關信息。UNIX環境爲C語言中提供了getopt()這樣的函數可以解析後置參數,這個函數是很實用很強大的,但Java就...(我Google了一下,倒沒有怎麼找出來)。大概是這個功能對Java來說太不足掛齒了吧,但總得有個解決方法才行。

下面就是一個代碼實例,用以說明。

這個實例運行的結果是運行在控制檯,並允許可選的輸入參數:

java TestOpt -i 89 -b -s TestString
 那麼就會設置幾個prarameter的值

 

 

 

public class TestOpt {

    public static void main(String[] args) {
        /*
         * 這裏先取默認值,因爲不是所有參數都會被用戶提供
         */
        boolean prarameter1 = false;
        int prarameter2 = 0;
        String prarameter3 = "";
        
        /*
         * 設置一個offset變量,用來定位相關信息
         */
        int optSetting = 0;
        for (; optSetting < args.length; optSetting++) {
            if ("-b".equals(args[optSetting])) {
                prarameter1 = true;
            } else if ("-i".equals(args[optSetting])) {
                prarameter2 = Integer.parseInt(args[++optSetting]);
            } else if ("-s".equals(args[optSetting])) {
                prarameter3 = args[++optSetting];
            }
        }
        
        /*
         * 這裏我只是打印出來相關的設置信息,具體的行爲肯定是要自己取定義打
         */
        System.out.println(prarameter1);
        System.out.println(prarameter2);
        System.out.println(prarameter3);
    }
}

 這種類似的方法估計應該有很多吧,但這個應該算是比較輕量級的。當然若參數非常多(同時也得進行驗證輸入),也就...

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章