2012-02-18 20 views
9

He buscado mucho pero no he podido encontrar ninguna forma de convertir el tipo inetaddress en cadena (puede ser que mi búsqueda no sea tan buena: S). Tengo que convertirlo en tipo de cadena porque tiene que mostrar el resultado en textarea (componente de interfaz gráfica de usuario) que requiere el tipo de cadena. Así que ¿alguien puede hacer esto?Java: inetaddress a la conversión de cadena

Respuesta

19

Java API para la clase InetAddress tiene buenos métodos para sus necesidades, ya veo. Pruebe estos métodos. Puede consultar otros captadores de propiedades de InetAddress para conocer sus requisitos adicionales.

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); 
} 
5

¿Has probado el método InetAddress.toString()?

+0

Esto devuelve una barra inclinada. Use getHostAddress() en su lugar. Ver http://stackoverflow.com/questions/12947435/inetaddress-tostring-returns-a-forward-slash – LeslieM

1

¿Qué hay de

System.out.println(Inet4Address.getLocalHost().getHostAddress()); 

?

3

Simplemente llame al método InetAddress toString(). Además, si desea específicamente el nombre de host, use getHostName. Si desea una representación de cadena de la dirección IP, use getHostAddress().

muestra:

InetAddress inet = InetAddress.getByName("193.125.22.1"); 
System.out.println(inet.toString()); 

para más información ver: http://www.java2s.com/Code/JavaAPI/javax.net/InetAddressgetByNameStringname.htm

+0

upvoted para el bit importante: getHostAddress si solo quieres la cadena de dirección –