2

System.getenv("computername")Java和Java有什么区别System.getenv("hostname")

使用该方法检索计算机名称时是否有字符限制getenv()

我有一个冗长的主机名,System.getenv("computername")似乎将其截断为 15 个字符。使用的操作系统是 Windows。

4

3 回答 3

1

Windows 中的截断是由于 NetBIOS 的计算机名称长度限制为 15 个字符。

http://support.microsoft.com/kb/909264

于 2014-03-04T15:46:58.730 回答
1

这是有效的:

try {
return InetAddress.getLocalHost().getHostName();
} catch (UnknownHostException e) {
return "Error: UnknownHostException";
}

希望我能帮助你。

山姆

于 2014-06-03T08:01:20.217 回答
0

我写了一个简单的测试应用程序:

public class Test {
  public static void main(String[] args) {
    System.out.println(System.getenv("computername"));
  }
}

然后执行:

set COMPUTERNAME=abcdefghijklmnopqrstuvwxyz
java Test

其中打印:

abcdefghijklmnopqrstuvwxyz

在 Windows 上的 Java 5 和 7 中都可以正常工作。没有截断的迹象。

于 2012-11-14T18:00:19.287 回答