Java システムプロパティを取得するサンプル

Javaのシステムプロパティを取得するサンプルです。
SystemクラスのgetPropertiesメソッドを使用します。

目次

メソッド 現在のシステムプロパティを取得するメソッド
  システムプロパティのキーの一覧
サンプル キーを指定して取得するコード(getProperty)
  キーを指定しないで取得するコード(getProperties)

現在のシステムプロパティを取得するメソッド

public static String getProperty(String key)
public static Properties 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で表示されます。

関連の記事

Java マルチスレッドのサンプル(RunnableとThread)

△上に戻る