如何获取计算机的硬件信息

有关的硬件信息,几乎什么都要!!如磁盘,网卡,内存等的型号,大小,使用情况等!!
求赐教!!

要能用java把最后的结果自动获取到!

1、可用使用java调用操作系统的命令行,然后进行解析获取相关信息,给个例子,我也是网上找到的,原文地址:http://bbs.chinaunix.net/thread-472476-1-1.html
public void testGetSysInfo() {
String address = "";
String os = System.getProperty("os.name");
if (os != null && os.startsWith("Windows")) {
try {
String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p
.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf("Physical Address") > 0) {
int index = line.indexOf(":");
index += 2;
address = line.substring(index);
break;
}
}
br.close();
logger.info("mac address:" + address.trim());
} catch (IOException e) {
logger.info("Error:" + e);
}
}
}

2、通过java jni调用操作系统本地现成的接口

如果在xp上,可以在C:\WINDOWS\Help\ntcmds.chm找有没有相似的命令。
然后用java运行,得到放回值。