Java中System.getenv("computername")
和System.getenv("hostname")
之间有什么区别?
使用getenv()
方法检索计算机名称时是否有任何字符限制?
我有一个冗长的主机名,System.getenv("computername")
似乎将其截断为15个字符。使用的操作系统是Windows。
答案 0 :(得分:1)
Windows中的截断是由于NetBIOS的计算机名长度限制为15个字符。
答案 1 :(得分:1)
这是有效的:
try {
return InetAddress.getLocalHost().getHostName();
} catch (UnknownHostException e) {
return "Error: UnknownHostException";
}
希望我帮助你。
萨姆'
答案 2 :(得分: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中都可以正常工作。没有截断的迹象。