Index > 実行時のOSを調べる(Java)
Fri, May 11, 2007

実行時のOSを調べる(Java)

Javaでは、Write Once, Run anywhere ということになっているので、 書いたコードはWindows,MacOSX,Linuxなどいろんな環境で使われる可能性があります。

本当に Write Once...ならいいのですが、たとえばマウスの右ボタンのように 一般的なマックにはないような処理を含んだソフトウェアを書く場合、 実行中のOSを調べて、OS別の対処コードを書く必要が出てきます。

実行中のOSを調べる

単に

    System.getProperty("os.name");

を使えば、実行中のOSの名前が文字列として取得できるので、それを使います。

簡単な処理ですが、毎回書くのは面倒なので、OSChecker.javaとして 使いまわせるようにしています。

OSChecker.java

public class OSChecker{

    static public boolean isWindows(){
        String os=System.getProperty("os.name");
        if(os!=null && os.startsWith("Windows")){
            return true;
        }
        else
            return false;
    }
    public static boolean isMacOSX(){
        String os=System.getProperty("os.name");
        if(os!=null && os.startsWith("Mac OS X")){
            return true;
        }
        else{
            return false;
        }
    }
    public static boolean isLinux(){
        String os=System.getProperty("os.name");
        if(os!=null && os.startsWith("Linux")){
            return true;
        }
        else{
            return false;
        }
    }
}

これを使えば、以下のように読みやすいコードが書けます。

    if( OSChecker.isWindows() ){
        // for windows
    }
    if( OSChecker.isMacOSX() ){
        // for macosx
    }
 Twitter
follow me on Twitter
 Categories