我已经搜索了很多,但我找不到任何方法将inetaddress类型转换为字符串(可能是我的搜索不是那么好:S)。我必须将其转换为字符串类型,因为我必须显示结果textarea(gui组件)需要字符串类型。任何人都可以这样做吗?
答案 0 :(得分:20)
InetAddress类的Java API有很好的方法可以满足您的需求。 试试这些方法。您可以查看InetAddress的其他财产获取者以了解更多要求。
public static void main ( String [] args ) throws UnknownHostException
{
// Instantiate your own InetAddress object.
InetAddress address = InetAddress.getLocalHost();
String hostIP = address.getHostAddress() ;
String hostName = address.getHostName();
System.out.println( "IP: " + hostIP + "\n" + "Name: " + hostName);
}
答案 1 :(得分:6)
您是否尝试过InetAddress.toString()方法?
答案 2 :(得分:3)
只需调用InetAddress toString()方法即可。此外,如果您特别需要主机名,请使用getHostName。如果需要IP地址的字符串表示形式,请使用 getHostAddress()。
示例:
InetAddress inet = InetAddress.getByName("193.125.22.1");
System.out.println(inet.toString());
有关详细信息,请参阅:http://www.java2s.com/Code/JavaAPI/javax.net/InetAddressgetByNameStringname.htm
答案 3 :(得分:2)
怎么样?
System.out.println(Inet4Address.getLocalHost().getHostAddress());