2012-07-03 28 views
2

在OSX中使用Java 6,如何確定當前的硬件是桌面還是筆記本?我正在通過System.getProperty()尋找,但沒有發現任何明確的。如何確定OSX硬件類型?

+0

爲什麼你想知道 - 許多人使用筆記本電腦作爲桌面,例如外接顯示器和鍵盤 – Mark

+0

爲什麼你需要做出這樣的區分?桌面與筆記本電腦的抽象層次比您應該關注的要高,特別是在Java中。 – Dave

+0

誰在乎他們爲什麼想知道這個?出於某種原因,這對他們很重要。 MacPro和MacBook模型之間存在硬件差異,這可能很重要。這可能是某種IT編目應用程序,誰知道?爲什麼它真的很重要,爲什麼? –

回答

2

您可以通過ProcessBuilder查詢ioregmodel,如here所示。

附錄:相似的信息可從system_profiler的輸出獲得。

+0

簡單,而且效果很好。 –

1

您可以使用標準的Unix工具來發現可能需要做出此決定的一些信息。

這裏是我的機器的例子:

>[[email protected]] system_profiler SPHardwareDataType 

Hardware Overview: 

    Model Name: Mac Pro 
    Model Identifier: MacPro3,1 
    Processor Name: Quad-Core Intel Xeon 
    Processor Speed: 2.33 GHz 
    Number of Processors: 1 
    Total Number of Cores: 4 
    L2 Cache: 4 MB 
    Memory: 8 GB 
    Bus Speed: 1.33 GHz 
    Boot ROM Version: MP31.006C.B05 
    SMC Version (system): 1.30f3 
    Serial Number (system): G8819IY0XYK 
    Hardware UUID: 8F6CD4F7-BA8F-5564-84DA-55A5AC59D42E 

Model Identifier:告訴你正在使用什麼硬件的模型。

這將是一個簡單的練習exec()命令system_profiler SPHardwareDataType並逐行解析響應並獲取所需內容。

system_profiler沒有任何參數爲您提供有關機器和操作系統的詳細信息。

+0

神聖的廢話,你有一個很好的機器:) – Jochen

+0

不是真的它大約是3.5歲,它並沒有真正的Xeon,它有一個Q8200,它是基於技嘉EP45-UD3P和藍寶石Vapor- X 4970.我有另外一款Q9950,用於音樂製作機器時速度更快。 –