Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要在java中仅获取主机名而不获取FQDN_Java_Hostname_Fqdn - Fatal编程技术网

需要在java中仅获取主机名而不获取FQDN

需要在java中仅获取主机名而不获取FQDN,java,hostname,fqdn,Java,Hostname,Fqdn,我有多个应用程序,托管在不同的服务器上。 所有应用程序都使用Java8。 我尝试了java.net函数InetAddress.getLocalHost().getHostName()来获取主机名,它为不同的服务器提供了不一致的结果。 对于某些服务器,我得到的是没有域名的主机名和一些FQDN。 我希望具有相同代码的所有应用程序的结果一致。 我想保留字符串截断作为最后一个选项。 如果java中有一个函数可以只获取主机名(没有域名),我想使用这个函数在所有应用程序中获得一致的结果。我想您可以尝试Ine

我有多个应用程序,托管在不同的服务器上。 所有应用程序都使用Java8。 我尝试了java.net函数InetAddress.getLocalHost().getHostName()来获取主机名,它为不同的服务器提供了不一致的结果。 对于某些服务器,我得到的是没有域名的主机名和一些FQDN。 我希望具有相同代码的所有应用程序的结果一致。 我想保留字符串截断作为最后一个选项。
如果java中有一个函数可以只获取主机名(没有域名),我想使用这个函数在所有应用程序中获得一致的结果。

我想您可以尝试InetAddress.getCanonicalHostName()或InetAddress.getName()方法。假设在您的网络上运行一个专有名称服务,这两个应该可以做到这一点

JavaDocs表示

获取此IP地址的完全限定域名。尽力而为方法,这意味着我们可能无法根据基础系统配置返回FQDN


因此,如果您想获取本地FQDN,通常可以调用:
InetAddress.getLocalHost().getCanonicalHostName()

我只需要主机名,不需要FQDN。。我只需要得到没有域名的主机名。