纯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();
     }
 }
若转载请注明出处!若有疑问,请回复交流!
目录
相关文章
|
2月前
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
86 4
|
7月前
|
Java Maven
java修改当前项目的maven仓库地址为国内
修改当前项目的maven仓库地址为国内
|
2月前
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
110 6
|
1月前
|
Java Spring
JAVA获取重定向地址URL的两种方法
【10月更文挑战第17天】本文介绍了两种在Java中获取HTTP响应头中的Location字段的方法:一种是使用HttpURLConnection,另一种是使用Spring的RestTemplate。通过设置连接超时和禁用自动重定向,确保请求按预期执行。此外,还提供了一个自定义的`NoRedirectSimpleClientHttpRequestFactory`类,用于禁用RestTemplate的自动重定向功能。
|
6月前
|
NoSQL Java 网络安全
Redis在java(Maven)中使用,常用基本命令大全,最全Termius怎么进行端口映射(MAC系统最简单教学)
Redis在java(Maven)中使用,常用基本命令大全,最全Termius怎么进行端口映射(MAC系统最简单教学)
java代码实现使用网络地址下载文件
java代码实现使用网络地址下载文件
227 0
|
7月前
|
存储 Java 编译器
Java | 如何从内存解析的角度理解“数组名实质是一个地址”?
这篇文章讨论了Java内存的简化结构以及如何解析一维和二维数组的内存分配。在Java中,内存分为栈和堆,栈存储局部变量,堆存储通过`new`关键字创建的对象和数组。方法区包含静态域和常量池。文章通过示例代码解释了一维数组的创建过程,分为声明数组、分配空间和赋值三个步骤,并提供了内存解析图。接着,介绍了二维数组的内存解析,强调二维数组是“数组的数组”,其内存结构中,外层元素存储内层数组的地址。最后,文章提到了默认初始化方式对初始值的影响,并给出了相关测试代码。
59 0
|
存储 网络协议 安全
IP地址、MAC地址、互联网、WLAN、运营商、子网掩码、网络地址、网段、网关、集线器、光纤、基站
IP地址、MAC地址、互联网、WLAN、运营商、子网掩码、网络地址、网段、网关、集线器、光纤、基站
176 0
|
7月前
|
监控 前端开发 Java
一套简单通用的Java后台管理系统,拿来即用,非常方便(附项目地址)
一套简单通用的Java后台管理系统,拿来即用,非常方便(附项目地址)
181 0
|
7月前
|
Java Python
Java【代码分享 01】Java版本的NGender根据中文姓名猜测其性别及男性化/女性化程度(Python版本地址+Java版本源码+基础数据)
Java【代码分享 01】Java版本的NGender根据中文姓名猜测其性别及男性化/女性化程度(Python版本地址+Java版本源码+基础数据)
75 0