只想询问是否有办法将本地计算机的Mac地址作为字符串。 我需要将本地计算机的mac地址保存到域类中。我尝试使用此代码获取我的Mac地址:
String address = "ifconfig".execute().text()
但是这一行它还返回了很多关于我的ip地址的细节,我需要得到的是在子字符串“HWaddr”之后找到的Mac地址。我在想是否可以使用正则表达式提取这个子字符串,但我不知道该怎么做。
答案 0 :(得分:5)
您可以使用java.net.NetworkInterface
获取接口的MAC地址。请注意,可以有多个硬件网络接口,因此可以有多个MAC地址。此外,大多数机器至少有一个没有硬件地址的接口:环回接口。
这将获得所有MAC地址列表作为字符串,包括没有MAC地址的接口的空值:
import java.net.NetworkInterface
def macs = NetworkInterface.networkInterfaces.collect { iface ->
iface.hardwareAddress?.encodeHex().toString()
}
答案 1 :(得分:0)
您可以使用NetworkInterface来获取此信息,尤其是返回字节数组的getHardwareAddress()
方法