java 获取本地mac_执行【本地命令】获取本机MAC

这是一个Java程序,用于通过执行操作系统命令获取本地计算机的MAC地址。代码中使用Runtime.exec()方法执行命令行操作,读取并解析"ipconfig/all"(Windows系统)的输出来找到物理地址。
摘要由CSDN通过智能技术生成

代码:

package com.test;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.LineNumberReader;

public class MACTest {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

MACTest get = new MACTest();

System.out.println("1="+get.getMAC());

}

// 运行速度【快】

public String getMAC() {

String mac = null;

try {

Process pro = Runtime.getRuntime().exec("cmd.exe /c ipconfig /all");

//Process pro = Runtime.getRuntime().exec("ipconfig /all");

InputStream is = pro.getInputStream();

// InputStream is = pro.getErrorStream();

//不加编码中文会乱码

BufferedReader br = new BufferedReader(new InputStreamReader(is,"GBK"));

String message = br.readLine();

int index = -1;

int i=0;

while (message != null) {

System.out.println(i+": "+message);

if ((index = message.indexOf("物理地址")) > 0) {

System.out.println(message.length());

mac = message.substring(message.length()-18).trim();

break;

}

/* if ((index = message.indexOf("IPv4")) > 0) {

mac = message.substring(index + 36,message.indexOf("(")).trim();

break;

} */

i++;

message = br.readLine();

}

System.out.println(mac);

br.close();

pro.destroy();

} catch (IOException e) {

System.out.println("Can't get mac address!");

return null;

}

return mac;

}

}

可直接使用Process pro = Runtime.getRuntime().exec("ipconfig /all");

结果:

0af4c458edfaa6dafe2fbe0d20c9cee1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值