(原创)JAVA 读取硬件信息(MAC 地址,CPU 号,硬盘卷标,CPU 型号及CPU 使用率等信息) (2011-03-27 00:16:12) 转载 标签: java 读mac 地址 cpu 号 硬盘卷标 cpu 型号 cpu 使用率等 杂谈 分类: java 开发 在发布新版的MYPM 时,加密要用到相关硬件信息,于是写了下面的测试类 运行 main 打印信息如下图 需要引用的包 sigar-1.6.3.jar 及相关动态库 测试时我加载了sigar 自带所有动态库 详见 main 方法内 package cn.com.mypm.common.util; import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.InputStreamReader; import org.hyperic.sigar.CpuPerc; import org.hyperic.sigar.Sigar; import org.hyperic.sigar.SigarException; import org.hyperic.sigar.SigarLoader; import org.hyperic.sigar.cmd.Shell; import org.hyperic.sigar.cmd.SigarCommandBase; public class CpuInfo extends SigarCommandBase { public boolean displayTimes = true; public CpuInfo(Shell shell) { super(shell); } public CpuInfo() { super(); } public String getUsageShort() { return "Display cpu information"; } private void output(CpuPerc cpu) { println("User Time....." + CpuPerc.format(cpu.getUser())); println("Sys Time......" + CpuPerc.format(cpu.getSys())); println("Idle Time....." + CpuPerc.format(cpu.getIdle())); println("Wait Time....." + CpuPerc.format(cpu.getWait())); println("Nice Time....." + CpuPerc.format(cpu.getNice())); println("Combined......" + CpuPerc.format(cpu.getCombined())); println("Irq Time......" + CpuPerc.format(cpu.getIrq())); if (SigarLoader.IS_LINUX) { println("SoftIrq Time.." + CpuPerc.format(cpu.getSoftIrq())); println("Stolen Time...." + CpuPerc.format(cpu.getStolen())); } println(""); } public void output(String[] args) throws SigarException { org.hyperic.sigar.CpuInfo[] infos = this.sigar.getCpuInfoList(); CpuPerc[] cpus = this.sigar.getCpuPercList(); org.hyperic.sigar.CpuInfo info = infos[0]; long cacheSize = info.getCach...