我需要知道当前计算机的名称。

最简单的方法是运行:

java.net.InetAddress.getLocalHost().getHostName()


如系统命令hostname所报告,在Linux机器上使用OpenJDK 7时,结果是正确的。

但是对于OpenJDK 8,返回的名称是localhost,这是没有用的。

为什么会有不同的行为?
如何使用Java 8获得真实姓名?

相关问题:


Why does InetAddress.getLocalHost().getHostName() return a value different from bash "hostname"?

最佳答案

尝试使用getCanonicalHostName()而不是getHostName()

09-25 21:38