import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.UnknownHostException; import java.util.Formatter; import java.util.Locale; public class Test { public static void main(String[] args) throws SocketException, UnknownHostException { System.out.println("hp_word"); String os = System.getProperty("os.name"); // System.out.println(os); if (os != null && os.startsWith("Windows")) { getWindowsMac(); }else{ getLinuxMac(); } } private static void getLinuxMac(){ String address = ""; try { ProcessBuilder pb = new ProcessBuilder("ifconfig", "-a"); Process p = pb.start(); BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while ((line = br.readLine()) != null) { if (line.indexOf("HWaddr") != -1) { System.out.println(line); int index = line.indexOf("HWaddr"); address = line.substring(index + 7); break; } } br.close(); System.out.println(address.trim());; } catch (IOException e) { } System.out.println(address);; } private static void getWindowsMac() throws UnknownHostException, SocketException { InetAddress address = InetAddress.getLocalHost(); NetworkInterface ni = NetworkInterface.getByInetAddress(address); //ni.getInetAddresses().nextElement().getAddress(); byte[] mac = ni.getHardwareAddress(); String sIP = address.getHostAddress(); String sMAC = ""; Formatter formatter = new Formatter(); for (int i = 0; i < mac.length; i++) { sMAC = formatter.format(Locale.getDefault(), "%02X%s", mac[i], (i < mac.length - 1) ? "-" : "").toString(); } System.out.println("IP" + sIP); System.out.println("MAC" + sMAC); } }
java如何获取本机mac_java获取本机mac
最新推荐文章于 2023-11-02 11:28:31 发布