簡體   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