java如何查询本机ip地址和mac地址 200

 我来答
匿名用户
2017-06-29
展开全部
// 获取mac地址
  public static String getMacAddress() {
    try {
      Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
      byte[] mac = null;
      while (allNetInterfaces.hasMoreElements()) {
        NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
        if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) {
          continue;
        } else {
          mac = netInterface.getHardwareAddress();
          if (mac != null) {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < mac.length; i++) {
              sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
            }
            if (sb.length() > 0) {
              return sb.toString();
            }
          }
        }
      }
    } catch (Exception e) {
      _logger.error("MAC地址获取失败", e);
    }
    return "";
  }
 
  // 获取ip地址
  public static String getIpAddress() {
    try {
      Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
      InetAddress ip = null;
      while (allNetInterfaces.hasMoreElements()) {
        NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
        if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) {
          continue;
        } else {
          Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
          while (addresses.hasMoreElements()) {
            ip = addresses.nextElement();
            if (ip != null && ip instanceof Inet4Address) {
              return ip.getHostAddress();
            }
          }
        }
      }
    } catch (Exception e) {
      _logger.error("IP地址获取失败", e);
    }
    return "";
  }

希望能帮助到你

深圳市睿讯世纪科技有限公司
2023-08-24 广告
作为深圳市睿讯世纪科技有限公司的工作人员,我可以推荐一些在IP远程KVM切换器方面表现较好的企业。首先,请大家关注行业中领先的供应商,例如深圳市宏为视界有限公司、北京金万众、上海环宇、深圳迪威视讯等。这些公司提供了高质量、可靠的IP远程KV... 点击进入详情页
本回答由深圳市睿讯世纪科技有限公司提供
瑛夫科技
2017-06-29 · TA获得超过8331个赞
知道大有可为答主
回答量:3426
采纳率:89%
帮助的人:644万
展开全部
Java中可以使用程序来获取本地ip地址和mac地址,使用InetAddress这个工具类,示例如下:

import java.net.*;

public class NetInfo {
public static void main(String[] args) {
new NetInfo().say();
}
public void say() {
try {
InetAddress i = InetAddress.getLocalHost();
System.out.println(i); //计算机名称和IP
System.out.println(i.getHostName()); //名称
System.out.println(i.getHostAddress()); //只获得IP
}
catch(Exception e){e.printStackTrace();}
}
}

也可以通过命令行窗口来查看本地ip和mac地址,输入命令:ipconfig。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
samismiling
2017-06-29 · 知道合伙人软件行家
samismiling
知道合伙人软件行家
采纳数:1340 获赞数:5604

向TA提问 私信TA
展开全部
 public static void getConfig(){ 
  try{ 
   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); 
  }catch(Exception e){ 
   e.printStackTrace(); 
  } 
 }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式