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として 使いまわせるようにしています。
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
}