2

在 OSX 中使用 Java 6,我如何确定当前硬件是台式机还是笔记本电脑?我正在寻找System.getProperty(),但没有找到任何确定的东西。

4

3 回答 3

2

您可以查询ioregvia model,如此ProcessBuilder所示。

附录:类似的信息可以从 的输出中获得system_profiler

于 2012-07-03T18:15:09.787 回答
1

您可以使用标准的 Unix 工具来发现一些您可能需要做出此决定的信息。

这是我机器上的一个例子:

>[jhr@Blackintosh] 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无需任何参数即可为您提供有关机器和操作系统的详细信息。

于 2012-07-03T17:56:40.697 回答
1

Java 不容易获得此信息。您可能必须调用本地库来获取该信息。这是一个处理该问题的问题:Getting the Machine Type and other Hardware details through Cocoa API

于 2012-07-03T17:37:51.887 回答