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() ); }
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);