我正在尝试在
scala应用程序中获取我的机器的MAC地址.搜索时有几个结果,但它们都使用类似下面的内容,涉及InetAddress.getLocalHost(),后跟NetworkInterface.getByInetAddress(…):
Get MAC address on local machine with Java
我的问题是结果最终为null:
val localhost = InetAddress.getLocalHost println(s"lh: $localhost") val localNetworkInterface = NetworkInterface.getByInetAddress(localhost) println(s"lni: $localNetworkInterface") >>lh: ubuntu/127.0.1.1 >>lni: null
解决方法
getByInetAddress在我的机器上具有相同的破坏行为,但您可以使用getNetworkInterfaces代替:
import java.net._ import scala.collection.JavaConverters._ NetworkInterface.getNetworkInterfaces.asScala map (_.getHardwareAddress) filter (_ != null)