知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > 批处理

通过dos命令获得服务器网卡地址-适合Windows和Linux

发布时间:2014-09-27 17:23:48作者:知识屋


通过dos命令获得服务器网卡地址-适合Windows和Linux
 
Java代码  
/** 
     * 获得服务器网卡地址 
     *    www.zhishiwu.com  
     * @return 服务器网卡地址 
     */  
    private String getServerMACAddress() {  
        String address = "";  
        String os = AppContext.SERVER_OS_NAME;  
        // 如果是Windows系统  
        if (os.startsWith("Windows")) {  
            try {  
                String command = "cmd.exe /c ipconfig /all";  
                Process p = Runtime.getRuntime().exec(command);  
                BufferedReader buf = new BufferedReader(new InputStreamReader(p.getInputStream()));  
                String line = null;  
                while ((line = buf.readLine()) != null) {  
                    if (line.indexOf("Physical Address") >= 0) {  
                        int index = line.indexOf(":");  
                        index += 2;  
                        address = line.substring(index);  
                        break;  
                    }    www.zhishiwu.com  
                }  
                buf.close();  
                return address.trim();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
        // 如果是Linux操作系统  
        else if (os.startsWith("Linux")) {  
            try {  
                String command = "/bin/sh -c ifconfig -a";  
                Process p = Runtime.getRuntime().exec(command);  
                BufferedReader buf = new BufferedReader(new InputStreamReader(p.getInputStream()));  
                String line = null;  
                while ((line = buf.readLine()) != null) {  
                    if (line.indexOf("HWaddr") > 0) {  
                        int index = line.indexOf("HWaddr") + "HWaddr".length();  
                        address = line.substring(index);  
                        break;  
                    }  
                }    www.zhishiwu.com  
                buf.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
        // 未知操作系统  
        else {  
  
        }  
        address = address.trim();  
        return address;  
    } 
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜