Java - 如何从计算机获取唯一编号

时间:2012-01-25 23:23:55

标签: java operating-system unique ip-address

  

可能重复:
  How to get a unique computer identifier in Java (like disk id or motherboard id)
  Need to identify local machine somehow in java

我想获得某种计算机的唯一ID(即IP地址)。

我试过了:

InetAddress inetAddress = null;
try {
    inetAddress = InetAddress.getLocalHost();
} catch (final UnknownHostException ex) {}
return inetAddress.getHostAddress();

这给了一个IP,但这个似乎定期改变。有没有办法让一个人不改变?

提前致谢!

注:

我需要能够将此ID与计算机相关联。

2 个答案:

答案 0 :(得分:2)

如果计算机使用DHCP,则IP地址将定期更改。您可以使用主机名,也可以使用MAC地址,java.net.NetworkInterface.getHardwareAddress()

可以使用该地址

答案 1 :(得分:0)

您是否考虑过使用保证唯一的UUID?

import com.eaio.uuid.UUID;

public class UUIDTest {
 public static void main(String[] args) {
  UUID u = new UUID();
  System.out.println(u);
 }
}