How can I get my motherboard's ID, using Java, in Linux, Mac, and Solaris?

荒凉一梦 提交于 2019-12-11 01:36:10

问题


How can I get my motherboard's ID, using Java, in Linux, Mac, and Solaris? I'd prefer a cross-platform solution.

I found a way that works in Windows:

String result = "";
    try {
    File file = File.createTempFile("realhowto",".vbs");
    file.deleteOnExit();
    FileWriter fw = new java.io.FileWriter(file);

    String vbs =
    "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"
    + "Set colItems = objWMIService.ExecQuery _ \n"
    + " (\"Select * from Win32_BaseBoard\") \n"
    + "For Each objItem in colItems \n"
    + " Wscript.Echo objItem.SerialNumber \n"
    + " exit for ' do the first cpu only! \n"
    + "Next \n";

    fw.write(vbs);
    fw.close();
    Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
    BufferedReader input =
    new BufferedReader
    (new InputStreamReader(p.getInputStream()));
    String line;
    while ((line = input.readLine()) != null) {
    result += line;
    }
    input.close();
    }
    catch(Exception e){
    e.printStackTrace();
    }
    return result.trim();

That works perfectly in Windows, but I need something that will also work in Mac, Linux and Solaris.

来源:https://stackoverflow.com/questions/13435960/how-can-i-get-my-motherboards-id-using-java-in-linux-mac-and-solaris

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!