Java 主机名的IP地址

Java 主机名的IP地址,java,ip,host,hostname,Java,Ip,Host,Hostname,我正在尝试将ip地址转换为主机名。我试过给出的答案。虽然linux命令主机适用于我所有的ip地址,但这段代码只适用于其中的一些。为什么会这样 InetAddress addr = InetAddress.getByName("192.168.190.62"); String host = addr.getHostName(); System.out.println(host); 当看着你发现 获取主机名 获取此IP地址的主机名 如果此地址是使用主机名创建的,则会记住并返回此主机名;

我正在尝试将ip地址转换为主机名。我试过给出的答案。虽然linux命令主机适用于我所有的ip地址,但这段代码只适用于其中的一些。为什么会这样

  InetAddress addr = InetAddress.getByName("192.168.190.62");
  String host = addr.getHostName();
  System.out.println(host);
当看着你发现

获取主机名 获取此IP地址的主机名


如果此地址是使用主机名创建的,则会记住并返回此主机名;否则,将执行反向名称查找,并根据系统配置的名称查找服务返回结果。如果需要查找名称服务,请调用getCanonicalHostName。

您的代码在哪里?我刚刚添加了我正在使用的代码。我基本上是从stackoverflow的另一个答案中得到的。代码是否有效取决于你的DNS。我在一个公司网络上。我是否有办法/需要强制DNS服务器或类似的方式?我很惊讶命令主机和它的工作方式不同,我本以为它们是一样的。我刚刚注意到你使用的是私有IP。您想改为解析计算机主机名吗?那么这与DNS无关,很抱歉造成混淆。看,我试着用它,我得到了同样的结果。至少,存在getHostName或getCanonicalHostName都无法返回有效值的ip地址,但主机返回有效值。如文档中所述,它表示将根据系统配置名称查找服务返回结果。您可以编辑此配置hosts.txt吗?