我正在尝试在scala应用程序中获取我的机器的MAC地址.搜索时有几个结果,但它们都使用如下所示的内容,InetAddress.getLocalHost()后面跟着NetworkInterface.getByInetAddress(...):使用Java在本地计算机上获取MAC地址
我的问题是结果最终为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
Run Code Online (Sandbox Code Playgroud)
getByInetAddress在我的机器上有相同的破坏行为,但您可以使用getNetworkInterfaces:
import java.net._
import scala.collection.JavaConverters._
NetworkInterface.getNetworkInterfaces.asScala map (_.getHardwareAddress) filter (_ != null)
Run Code Online (Sandbox Code Playgroud)