你能夠輕松地使用java標準的傳遞標志的方式獲得一個簡單且功能強大的命令行應用。事實上,傳遞進來的標志不僅僅在main方法中有效。
java命令直接將帶有-D的標志傳遞給了System類的PRoperties對象。這答應通過System.getProperty的方式檢出這個標志。
通過java -Dflag=jack運行下面的代碼將在屏幕上輸出“jack”。
public class ShowFlag {
static public void main(String[] args) {
String flag = System.getProperty("flag");
System.err.println(flag);
}
}
假如想查看所有的屬性,你可以運行下面的代碼:
import java.util.Properties;
public class ShowAll {
static public void main(String[] args) {
Properties sysprops = System.getProperties();
sysprops.list(System.err);
}
}
當傳遞新的系統屬性的時候,通常采用以域名倒序的風格,例如:
java -Dcom.generationjava.someprodUCt.color=green
rather than:
java -Dcolor=green
這個技巧能能防止你的標記和傳遞進來的其它系統屬性沖突。
這只是一個簡單類的例子,對于一個完備的Java命令行應用其實需要使用合適的參數處理器。這個參數處理器能夠幫助校驗是否答應一個特定的標記,它也答應簡單的一個字符的標記和值的自動轉換。
新聞熱點
疑難解答