纯Java获得本地MAC地址

简介: import java.net.*;public class Ipconfig{     public static void main(String[] arguments) throws Exception{         InetAddress ia = InetAddress.
import java.net.*;
public class Ipconfig{
     public static void main(String[] arguments) throws Exception{
         InetAddress ia = InetAddress.getLocalHost();//获取本地IP对象
         System.out.println("MAC ......... "+getMACAddress(ia));
     }
     //获取MAC地址的方法
     private static String getMACAddress(InetAddress ia)throws Exception{
         //获得网络接口对象(即网卡),并得到mac地址,mac地址存在于一个byte数组中。
         byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
         
         //下面代码是把mac地址拼装成String
         StringBuffer sb = new StringBuffer();
         
         for(int i=0;i<mac.length;i++){
             if(i!=0){
                 sb.append("-");
             }
             //mac[i] & 0xFF 是为了把byte转化为正整数
             String s = Integer.toHexString(mac[i] & 0xFF);
             sb.append(s.length()==1?0+s:s);
         }
         
         //把字符串所有小写字母改为大写成为正规的mac地址并返回
         return sb.toString().toUpperCase();
     }
 }
若转载请注明出处!若有疑问,请回复交流!
目录
相关文章
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
584 4
|
Java Maven
java修改当前项目的maven仓库地址为国内
修改当前项目的maven仓库地址为国内
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
1058 6
java代码实现使用网络地址下载文件
java代码实现使用网络地址下载文件
614 0
|
存储 网络协议 安全
IP地址、MAC地址、互联网、WLAN、运营商、子网掩码、网络地址、网段、网关、集线器、光纤、基站
IP地址、MAC地址、互联网、WLAN、运营商、子网掩码、网络地址、网段、网关、集线器、光纤、基站
771 0
|
Java Spring
JAVA获取重定向地址URL的两种方法
【10月更文挑战第17天】本文介绍了两种在Java中获取HTTP响应头中的Location字段的方法:一种是使用HttpURLConnection,另一种是使用Spring的RestTemplate。通过设置连接超时和禁用自动重定向,确保请求按预期执行。此外,还提供了一个自定义的`NoRedirectSimpleClientHttpRequestFactory`类,用于禁用RestTemplate的自动重定向功能。
959 0
|
存储 Java 编译器
Java | 如何从内存解析的角度理解“数组名实质是一个地址”?
这篇文章讨论了Java内存的简化结构以及如何解析一维和二维数组的内存分配。在Java中,内存分为栈和堆,栈存储局部变量,堆存储通过`new`关键字创建的对象和数组。方法区包含静态域和常量池。文章通过示例代码解释了一维数组的创建过程,分为声明数组、分配空间和赋值三个步骤,并提供了内存解析图。接着,介绍了二维数组的内存解析,强调二维数组是“数组的数组”,其内存结构中,外层元素存储内层数组的地址。最后,文章提到了默认初始化方式对初始值的影响,并给出了相关测试代码。
255 0
|
监控 前端开发 Java
一套简单通用的Java后台管理系统,拿来即用,非常方便(附项目地址)
一套简单通用的Java后台管理系统,拿来即用,非常方便(附项目地址)
1010 0
|
安全 Java 关系型数据库
《阿里巴巴Java开发手册(终极版)》电子版地址
《阿里巴巴Java开发手册》(终极版)从Java开发者的视角出发,内容涵盖编程规约、异常日志、单元测试、安全规约、工程结构、MySQL数据库六个维度。 本手册自发布以来,多次迭代,阅读量数以百万计,可称为Java开发者的必读手册。通过阅读本书,开发者同学可以系统地学习到如何在编程过程中高效协作、提升程序的交付质量、以及提升代码内容的创造性和优雅性。
5996 0
《阿里巴巴Java开发手册(终极版)》电子版地址
下一篇
开通oss服务