Javaのシステムプロパティを取得するサンプルです。
SystemクラスのgetPropertiesメソッドを使用します。
目次
メソッド | 現在のシステムプロパティを取得するメソッド |
システムプロパティのキーの一覧 | |
サンプル | キーを指定して取得するコード(getProperty) |
キーを指定しないで取得するコード(getProperties) |
現在のシステムプロパティを取得するメソッド
public static String getProperty(String key) |
public static Properties getProperties() |
- 現在のシステムプロパティを取得します。
- メソッドに引数をつける場合、引数にはシステムプロパティのキーを指定します。戻り値は、キーに対応する値を返します。
- 以下はJava8 API仕様のSystemクラスのgetProperty()メソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/System.html#getProperties--
システムプロパティのキーの一覧
主なシステムプロパティのキーです。
キー | 説明 |
---|---|
java.version | JREのバージョン |
java.vendor | JREのベンダー |
java.home | Javaのインストール先ディレクトリ |
java.vm.specification.version | Java仮想マシンの仕様バージョン |
java.vm.specification.vendor | Java仮想マシンの仕様のベンダー |
java.class.version | Javaクラスの形式のバージョン番号 |
java.class.path | Javaクラス・パス |
java.library.path | ライブラリのロード時に検索するパスのリスト |
java.io.tmpdir | デフォルト一時ファイルのパス |
os.name | OS名 |
os.version | OSのバージョン |
file.separator | ファイル区切り文字(UNIXでは"/") |
path.separator | パス区切り文字(UNIXでは":") |
line.separator | 行区切り文字(UNIXでは"\n") |
user.name | ユーザーのアカウント名 |
user.home | ユーザーのホーム・ディレクトリ |
user.dir | ユーザーの現在の作業ディレクトリ |
キーを指定して取得するコード(getProperty)
システムプロパティのキーを指定して対応の値を取得しています。
package test1;
import java.util.Properties;
public class Test1 {
public static void main(String[] args) {
// Java Runtime Environmentのバージョン
System.out.println(
System.getProperty("java.version")); // 1.8.0_211
// Java Runtime Environmentのベンダー
System.out.println(
System.getProperty("java.vendor")); // Oracle Corporation
// JavaベンダーのURL
System.out.println(
System.getProperty("java.vendor.url")); // http://java.oracle.com/
// Javaのインストール先ディレクトリ
System.out.println(
System.getProperty("java.home")); // C:\Program Files\Java\jdk1.8.0_211\jre
// Java仮想マシンの仕様バージョン
System.out.println(
System.getProperty("java.vm.specification.version")); // 1.8
// Java仮想マシンの仕様のベンダー
System.out.println(
System.getProperty("java.vm.specification.vendor")); //Oracle Corporation
// Java仮想マシンの仕様名
System.out.println(
System.getProperty("java.vm.specification.name")); //Java Virtual Machine Specification
// Java仮想マシンの実装バージョン
System.out.println(
System.getProperty("java.vm.version")); //25.211-b12
// Java仮想マシンの実装のベンダー
System.out.println(
System.getProperty("java.vm.vendor")); //Oracle Corporation
// Java仮想マシンの実装名
System.out.println(
System.getProperty("java.vm.name")); //Java HotSpot(TM) 64-Bit Server VM
// Java Runtime Environmentの仕様バージョン
System.out.println(
System.getProperty("java.specification.version")); //1.8
// Java Runtime Environmentの仕様のベンダー
System.out.println(
System.getProperty("java.specification.vendor")); //Oracle Corporation
// Java Runtime Environmentの仕様名
System.out.println(
System.getProperty("java.specification.name")); //Java Platform API Specification
// Javaクラスの形式のバージョン番号
System.out.println(
System.getProperty("java.class.version")); //52.0
// Javaクラス・パス
System.out.println(
System.getProperty("java.class.path")); //多数あり
// ライブラリのロード時に検索するパスのリスト
System.out.println(
System.getProperty("java.library.path")); //多数あり
// デフォルト一時ファイルのパス
System.out.println(
System.getProperty("java.io.tmpdir")); //C:\Users\testuser\AppData\Local\Temp\
// 使用するJITコンパイラの名前
System.out.println(
System.getProperty("java.compiler")); //null
// オペレーティング・システム名
System.out.println(
System.getProperty("os.name")); //Windows 10
// オペレーティング・システムのアーキテクチャ
System.out.println(
System.getProperty("os.arch")); //amd64
// オペレーティング・システムのバージョン
System.out.println(
System.getProperty("os.version")); //10.0
// ファイル区切り文字(UNIXでは"/")
System.out.println(
System.getProperty("file.separator")); //\
// パス区切り文字(UNIXでは":")
System.out.println(
System.getProperty("path.separator")); //;
// 行区切り文字(UNIXでは"\n")
System.out.println(
System.getProperty("line.separator")); //
// ユーザーのアカウント名
System.out.println(
System.getProperty("user.name")); //testuser
// ユーザーのホーム・ディレクトリ
System.out.println(
System.getProperty("user.home")); //C:\Users\testuser
// ユーザーの現在の作業ディレクトリ
System.out.println(
System.getProperty("user.dir")); //D:\dev\workspace-photon\test1
}
}
キーを指定しないで取得するコード(getProperties)
システムプロパティのキーと値を全て取得しています。
package test1;
import java.util.Properties;
public class Test1 {
public static void main(String[] args) {
Properties p1 = System.getProperties();
for(Object key : p1.keySet()) {
System.out.println(key + "=" + p1.getProperty((String) key));
}
}
}
出力は、java.runtime.name=Java(TM) SE Runtime Environmentのようにキーとvalueで表示されます。
関連の記事