Java 実行している OS を取得する方法

Java で、実行している OS を取得する方法について紹介します。

Java 実行している OS を取得する方法

Java で開発をおこなう場合、Eclipse を利用することがほとんどですね。そのため、実務で利用する場合、開発は Windows を利用し、テストや本番は Linux や Unix を利用するというケースは多いのではないでしょうか?

上記のような場合で、外部の API を利用しようと思った場合、何の OS で動作しているか知りたくなりますね。以外に知られていない実行している OS を取得する方法について掲載しておきます。


最も簡単にJavaでOS情報を取得する方法

System クラスの getProperty メソッドによって、現在使用しているシステムプロパティのセットを取得することができます。


System.getProperty("os.name").toLowerCase();

システムプロパティには、JVM 及び実行される OS の基本的な情報が格納されています。OS のバージョンや JRE のバージョン、クラスパスなどを取得することも可能です。

どのような情報が取得できるかは、Javadoc を参照ください。

実行している OS を取得する方法

実行している OS を取得する方法です。

System.getProperty("os.name").toLowerCase(); を都度記述するのはソースの美しさを損ねるので、ユーティリティクラスを作って対応しましょう。

サンプルソース

サンプルソースは下記の通りです。


public class PlatformUtils {

  private static final String OS_NAME = System.getProperty("os.name").toLowerCase();

  public static boolean isLinux() {
    return OS_NAME.startsWith("linux");
  }

  public static boolean isMac() {
    return OS_NAME.startsWith("mac");
  }

  public static boolean isWindows() {
    return OS_NAME.startsWith("windows");
  }

  public static boolean isSunOS() {
    return OS_NAME.startsWith("sunos");
  }
}

テスト

それでは、以下のようなテストを実施してみましょう。

実機は Windows 7 です。


System.out.println(PlatformUtils.isLinux());
System.out.println(PlatformUtils.isMac());
System.out.println(PlatformUtils.isSunOS());
System.out.println(PlatformUtils.isWindows());

結果は以下のようになりました。


false
false
false
true

OS の情報を知ることで可能となるロジックも多々あります。ここでしっかり覚えておきましょうね。

参考サイト

Java から Windows OS のバージョンを取得する

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。