OSの種類とバージョンの判別ですが、JDKライブラリ単体だけですと "os.arch"/"os.name"/"os.version"のシステムプロパティ(System.getProperty())の値を自前で処理してそれぞれ判別する必要があります。
JDK7, Win7SP1(64bit), Corei5上:
os.arch -> "amd64" os.name -> "Windows 7" os.version -> "6.1"
Apache Commons の commons-lang3 を使うと、org.apache.commons.lang3.SystemUtils に "IS_OS_XXXX" というstaticなboolean値がセットされるので、これを使って
if (SystemUtils.IS_WINDOWS) { if (SystemUtils.IS_OS_WINDOWS_7) { ...
のようなコードが書けるようになります。
参考:
コメント