在 Java 中创建 InetAddress 对象

2022-08-31 11:30:48

我正在尝试转换由IP号或名称指定的地址,两者都在字符串中(即 或 ),放入 InetAdress 对象。没有构造函数,而是返回 InetAddress 的静态方法。因此,如果我得到一个主机名,这不是问题,但是如果我得到IP号码怎么办?有一种方法可以获得byte[],但我不确定它如何帮助我。所有其他方法都获取主机名。localhost127.0.0.1

InetAddress API 文档


答案 1

您应该能够使用 getByNamegetByAddress

主机名可以是计算机名称(如“java.sun.com”)或其 IP 地址的文本表示形式

InetAddress addr = InetAddress.getByName("127.0.0.1");

采用字节数组的方法可以像这样使用:

byte[] ipAddr = new byte[]{127, 0, 0, 1};
InetAddress addr = InetAddress.getByAddress(ipAddr);

答案 2

从 InetAddress 的 API

主机名可以是计算机名称(如“java.sun.com”)或其 IP 地址的文本表示形式。如果提供了文本 IP 地址,则仅检查地址格式的有效性。