システムプロパティ

SystemクラスのgetProperties()で取得できます。
これはシステムのさまざまな情報を取得するメソッドで、 Propertieクラスのオブジェクトを返します。
これは一種のハッシュテーブルで、 システムのプロパティ名と、その名前に対する変更不可の値の集合となっています。
SystemクラスのgetProperties()で、Propertieクラスのオブジェクトが得られ、 そのPropertieクラスのオブジェクトのpropertyNames()の名前群が取得できます。
この戻り値は、Enumeration<E>になっています。

java.util.Enumeration<E>は、一連のリストを連続的に走査する時に使う インターフェイスです。

public interface Enumeration<E> {
    boolean hasMoreElements();
    E nextElement();
}

これを実装したリストlstで、 次の繰り返しの形態で同じように列挙できるようにするためのインターフェイスです。
全ての列挙名とその値を列挙するプログラム例です。

Enumeration<E> e = lst.elements() 
while(e.hasMoreElements()){//次があるか?
	E obj = e.nextElement();//次を取得
	System.out.println( obj.toString() );
}

java.util.Enumerationを使って、システムプロパティ名を表示させる例を示します。

	public static void main(String [] args){
		java.util.Properties property = System.getProperties();
		java.util.Enumeration e = property.propertyNames(); 
		while(e.hasMoreElements()){//次があるか?
			String key = (String)e.nextElement();//次を取得
			String val = property.getProperty(key);//このプロパティ名の値取得
			System.out.println( key + ":" + val);
		}
	}

以上でこのシステムが使えるたくさんのプロパティ名とその値が列挙できます。
ドキュメントによると、以下のプロパティ名が必ず存在するようです。

キー 対応する値の説明 
java.version Java Runtime Environment のバージョン 
java.vendor Java Runtime Environment のベンダー 
java.vendor.url Java ベンダーの URL 
java.home Java のインストール先ディレクトリ 
java.vm.specification.version Java 仮想マシンの仕様バージョン 
java.vm.specification.vendor Java 仮想マシンの仕様ベンダー 
java.vm.specification.name Java 仮想マシンの仕様名 
java.vm.version Java 仮想マシンの実装バージョン 
java.vm.vendor Java 仮想マシンの実装ベンダー 
java.vm.name Java 仮想マシンの実装名 
java.specification.version Java Runtime Environment の仕様バージョン 
java.specification.vendor Java Runtime Environment の仕様のベンダー 
java.specification.name Java Runtime Environment の仕様名 
java.class.version Java クラスの形式のバージョン番号 
java.class.path Java クラスパス 
java.library.path ライブラリのロード時に検索するパスのリスト 
java.io.tmpdir デフォルト一時ファイルのパス 
java.compiler 使用する JIT コンパイラの名前 
java.ext.dirs 拡張ディレクトリのパス 
os.name オペレーティングシステム名 
os.arch オペレーティングシステムのアーキテクチャ 
os.version オペレーティングシステムのバージョン 
file.separator ファイル区切り文字 (UNIX では「/」) 
path.separator パス区切り文字 (UNIX では「:」) 
line.separator 行区切り文字 (UNIX では「\n」) 
user.name ユーザのアカウント名 
user.home ユーザのホームディレクトリ 
user.dir ユーザの現在の作業ディレクトリ

例えば、現在のディレクトリを知る場合は、次のように取得できます。

		String currentPath = System.getProperty("user.dir");
		System.out.println("現在の作業ディレクトリ"+currentPath);