欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java获取本机所有ip地址和mac地址,javamac,/* * To chan

来源: javaer 分享于  点击 33489 次 点评:134

Java获取本机所有ip地址和mac地址,javamac,/* * To chan


/* * To change this template, choose Tools | Templates * and open the template in the editor. */package org.lib.com;/** * * @author Administrator */import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.Inet6Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.net.UnknownHostException;import java.util.ArrayList;import java.util.Enumeration;import java.util.List;public class TestAddr {        /**         * 获取本机所有IP         */    private static String[] getAllLocalHostIP() {        List<String> res = new ArrayList<String>();        Enumeration netInterfaces;        try {            netInterfaces = NetworkInterface.getNetworkInterfaces();            InetAddress ip = null;            while (netInterfaces.hasMoreElements()) {                NetworkInterface ni = (NetworkInterface) netInterfaces                        .nextElement();                System.out.println("---Name---:" + ni.getName());                Enumeration nii = ni.getInetAddresses();                while (nii.hasMoreElements()) {                    ip = (InetAddress) nii.nextElement();                    if (ip.getHostAddress().indexOf(":") == -1) {                        res.add(ip.getHostAddress());                        System.out.println("本机的ip=" + ip.getHostAddress());                    }                }            }        } catch (SocketException e) {            e.printStackTrace();            }            return (String[]) res.toArray(new String[0]);        }    public static String getLocalIP() {           String ip = "";           try {                   Enumeration<?> e1 = (Enumeration<?>) NetworkInterface.getNetworkInterfaces();                   while (e1.hasMoreElements()) {                       NetworkInterface ni = (NetworkInterface) e1.nextElement();                        System.out.println ("getLocalIP--nic.getDisplayName ():" + ni.getDisplayName ());                     System.out.println ("getLocalIP--nic.getName ():" + ni.getName ());                       if (!ni.getName().equals("eth0")) {                           continue;                       } else {                       Enumeration<?> e2 = ni.getInetAddresses();                           while (e2.hasMoreElements()) {                           InetAddress ia = (InetAddress) e2.nextElement();                           if (ia instanceof Inet6Address)                               continue;                           ip = ia.getHostAddress();                       }                           break;                       }                   }               } catch (SocketException e) {                   e.printStackTrace();                   System.exit(-1);               }               return ip;           }        public static String getWinLocalIP ()             {                 String ip = "";                 try                 {                     Enumeration <?> e1 = (Enumeration <?>) NetworkInterface.getNetworkInterfaces ();                     while (e1.hasMoreElements ())                     {                         NetworkInterface ni = (NetworkInterface) e1.nextElement ();                        System.out.println ("getWinLocalIP--nic.getDisplayName ():" + ni.getDisplayName ());                         System.out.println ("getWinLocalIP--nic.getName ():" + ni.getName ());                        Enumeration <?> e2 = ni.getInetAddresses ();                         while (e2.hasMoreElements ())                         {                             InetAddress ia = (InetAddress) e2.nextElement ();                             ip = ia.getHostAddress ();                     }                     }                 }                 catch (SocketException e)                 {                     e.printStackTrace ();                 System.exit (-1);                 }                 return ip;             }        /**         * 获取本机所有物理地址         *         * @return         */        public static String getMacAddress() {        String mac = "";        String line = "";        String os = System.getProperty("os.name");       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()));                    while ((line = br.readLine()) != null) {                        if (line.indexOf("Physical Address") > 0) {                            int index = line.indexOf(":") + 2;                            mac = line.substring(index);                            break;                        }                    }                    br.close();                } catch (IOException e) {                }            }            return mac;        }        public String getMacAddress(String host) {            String mac = "";            StringBuffer sb = new StringBuffer();            try {                NetworkInterface ni = NetworkInterface.getByInetAddress(InetAddress                        .getByName(host));                // byte[] macs = ni.getHardwareAddress();                // for (int i = 0; i < macs.length; i++) {                // mac = Integer.toHexString(macs[i] & 0xFF);                //                // if (mac.length() == 1) {                // mac = '0' + mac;                // }                //                // sb.append(mac + "-");                // }            } catch (SocketException e) {                e.printStackTrace();            } catch (UnknownHostException e) {                e.printStackTrace();            }            mac = sb.toString();            mac = mac.substring(0, mac.length() - 1);            return mac;    }        /**         * @param args         */        public static void main(String[] args) {
相关栏目:

用户点评