前两天有个小伙伴来问我JAVA怎么获取CPU的序列号,说是老师要求的。。。突然发现现在的老师好厉害了 哈哈哈。JAVA获取CPU的序列号我还是真的没做过,所以查询了一些资料,最后实现了这个功能,其实JAVA获取CPU的序列号还是很简单的,代码才是王道,就直接上代码了吧
package test;
import java.io.IOException;
import java.util.Scanner;
public class CPUTest {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
long start = System.currentTimeMillis();
Process process = Runtime.getRuntime().exec(
new String[] { "wmic", "cpu", "get", "ProcessorId" });
process.getOutputStream().close();
Scanner sc = new Scanner(process.getInputStream());
String property = sc.next();
String serial = sc.next();
System.out.println(property + ": " + serial);
System.out.println("time:" + (System.currentTimeMillis() - start));
}
}
结果输出是这样的
其实就是用Runtime.getRuntime().exec 执行一个指令而已。。
想知道结果是否是准确的 , 可以在DOS下面测试 首先windows键+R键 打开运行框 ,然后输入cmd 打开DOS 。然后输入 wmic cpu get ProcessorId
这次的结果任然是
Runtime.getRuntime().exec 真的很强大啊,直接可以取得当前JVM的运行时环境,然后通过exec执行传入的命令参数,Runtime.exec还可以做其他的事情,比如说直接打开一个文件。。不过在这里我就不在做了,有兴趣的小伙伴可以自己去试试看。。。