用慣了控制檯的程序之後,最印象深刻的是其的簡單與快捷,雖沒有圖形界面那樣吸引人的眼球,但卻也足以迷倒衆生。
瞎扯了一通算是開了個頭,下面就直入正題吧。
控制檯程序的運行少不了要通過控制檯來傳遞參數,譬如:
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);
}
}
這種類似的方法估計應該有很多吧,但這個應該算是比較輕量級的。當然若參數非常多(同時也得進行驗證輸入),也就...