java を使用して os 名を見つける方法はありますか?
以下のコードを試してみましたが、次のように返されます (Linux 、 windows ..)
System.getProperty("os.name")
以下の形式を検出する必要があります
Linux - 「ubuntu、mandriva ..」、Windows - 「xp、vista ...」
私の英語でごめんなさい:-( !!!
何か案が ?
java を使用して os 名を見つける方法はありますか?
以下のコードを試してみましたが、次のように返されます (Linux 、 windows ..)
System.getProperty("os.name")
以下の形式を検出する必要があります
Linux - 「ubuntu、mandriva ..」、Windows - 「xp、vista ...」
私の英語でごめんなさい:-( !!!
何か案が ?
System.getProperty()
次のプロパティを取得するために使用できます。
os.name
: オペレーティング システム名os.arch
: オペレーティング システムのアーキテクチャos.version
: オペレーティング システムのバージョンos.version
あなたの場合、物件を探していると思います。のjavadocにSystem.getProperties()
は、取得できるプロパティの完全なリストが含まれています。
編集
これを Linux Mint でテストしたところ、os.version
プロパティを取得すると、実際にはディストリビューション バージョンではなく、カーネル バージョンが返されるようです。
Linux
amd64
2.6.38-8-generic
この投稿を見つけた後、Java API を介して実行している Linux ディストリビューションを見つける信頼できる方法がないように思われます。
Linux で実行していることがわかっている場合は、代わりに Java から次のシステム コマンドのいずれかを実行できますが、ディストリビューションを grep/parse する必要があります。
cat /etc/*-release
これはあなたを助けるかもしれません:
System.out.println("\nName of the OS: " + System.getProperty("os.name"));
System.out.println("Version of the OS: " + System.getProperty("os.version"));
System.out.println("Architecture of the OS: " + System.getProperty("os.arch"));
編集:これは、Windows で返されるものです。
Name of the OS: Windows XP
Version of the OS: 5.1
Architecture of the OS: x86
照会できるシステム プロパティがいくつかあります。詳細については、チュートリアルをご覧ください。これらの 3 つの一部またはすべてを組み合わせると、次のように役立ちます。
System.getProperty("os.arch")
System.getProperty("os.name")
System.getProperty("os.version")
見てみましょう: http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#getProperties%28%29
プロパティ: 'os.name'