java - 如何在 java 或 scala 中获取本地主机网络接口(interface)

标签 java scala

我正在尝试在 Scala 应用程序中获取我的机器的 MAC 地址。搜索时有几个结果,但它们都使用如下内容,涉及 InetAddress.getLocalHost() 后跟 NetworkInterface.getByInetAddress(...):Get MAC address on local machine with Java

我的问题是结果最终为空:

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)

关于java - 如何在 java 或 scala 中获取本地主机网络接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23900172/

相关文章:

java - 如何将 TreeSet 与另一个集合进行比较?

scala - akka 将任务拆分为更小的结果并折叠结果

java - "/"的 Restful 路径用法

scala - 更新 Scala 案例类的操作

scala - Mill Build Tool,如何使用 `evicted`

validation - Scalaz 验证,验证内部值

mysql - 如何使用scala获取事务中的第一条记录?

java - 编写一个程序来从用户那里获取各种数据值并以不同的格式显示它。

java - 将更改传播到嵌套对象的模式

java - IntelliJ git 集成提示和技巧