JAVA怎么取客户端的网卡号

解决方案 »

  1.   

    public void getmac(){
    try{
    String cmd = "ipconfig -all";
    Process process = Runtime.getRuntime().exec(cmd);
    BufferedReader buffreader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    String line = buffreader.readLine();
    for (;line != null;){
    String nextline = buffreader.readLine();
    if(line.indexOf("Physical Address") > 0){
    int i = line.indexOf("Physical Address") + 36;
    dplocalmac.setText(line.substring(i));
    break;
    }
    line = nextline;
    }
    buffreader.close();
    process.waitFor();
    }
    catch(Exception exception){
    dplocalmac.setText("error");
    }
    }
      

  2.   

    你需求没有说明白,如果是java无法控制的硬件,就需要借助c等可以操作底层的东西来实现,java可以用jni和dll交互,也可以用socket,soap等方式!
      

  3.   

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;/**
     * Net Util .
     * 
     * @author waterborn
     */
    public class MACUtil {    /**
         * Return Opertaion System Name;
         * 
         * @return os name.
         */
        public static String getOsName() {
            String os = "";
            os = System.getProperty("os.name");
            return os;
        }    /**
         * Returns the MAC address of the computer.
         * 
         * @return the MAC address
         */
        public static String getMACAddress() {
            String address = "";
            String os = getOsName();
            if (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) {
                }
            } else if (os.startsWith("Linux")) {
                String command = "/bin/sh -c ifconfig -a";
                Process p;
                try {
                    p = Runtime.getRuntime().exec(command);
                    BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
                    String line;
                    while ((line = br.readLine()) != null) {
                        if (line.indexOf("HWaddr") > 0) {
                            int index = line.indexOf("HWaddr") + "HWaddr".length();
                            address = line.substring(index);
                            break;
                        }
                    }
                    br.close();
                } catch (IOException e) {
                }
            }
            address = address.trim();
            return address;
        }
        /**
         * Main Class.
         * 
         * @param args
         */
        public static void main(String[] args) {
            System.out.println("Operation System=" + getOsName());
            System.out.println("Mac Address=" + getMACAddress());
        }
    }
      

  4.   

    xiachedan(瞎扯蛋)    那c怎么取