繁体   English   中英

System.getenv("computername") 截断返回值

[英]System.getenv("computername") truncating return value

Java 中的System.getenv("computername")System.getenv("hostname")什么区别?

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

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

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

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

这是有效的:

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

希望我能帮到你。

山姆

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

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 中都可以正常工作。 没有截断的迹象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM