分享

java程序获得windows系统的一些参数(cmd指令运行返回结果)

 dinghj 2014-11-21

//获得网卡物理地址以及ping指令返回结果

/*
 * 创建日期 2006-2-17
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package com.alpeace.app;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author liubo
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class GetWindowsMac {
   
   
    public GetWindowsMac(){
       
    }
   
    public static String getMACAddress() {

        String address = "";
        String os = System.getProperty("os.name");
        System.out.println(os);
        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();
                return address.trim();
            } catch (IOException e) {}
           
        }
        return address;
    }
   
    public static String getPing(String ip) {

        String ping = "";
        String os = System.getProperty("os.name");
        System.out.println(os);
        if (os != null && os.startsWith("Windows")) {
            try {
                String command = "cmd.exe /c ping "+ip+" /all";
                Process p = Runtime.getRuntime().exec(command);
                BufferedReader br =
                        new BufferedReader(
                                new InputStreamReader(p.getInputStream()));
                String line;
                while ((line = br.readLine()) != null) {
                    ping = ping + line +"/n";
                }
                br.close();
                return ping.trim();
            } catch (IOException e) {}
           
        }
        return ping;
    }

 

 public static void main(String[] args) {
     System.out.println(""+GetWindowsMac.getMACAddress());//获得物理地址
     System.out.println(""+GetWindowsMac.getPing("10.0.1.3")); //获得ping结果
    
 }

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多