2012-02-18 21 views
9

Ho cercato molto ma non sono riuscito a trovare alcun modo per convertire il tipo inetaddress in stringa (potrebbe essere la mia ricerca non è buona: S). Devo convertirlo in tipo stringa perché io devi mostrare il risultato in textarea (componente gui) che richiede un tipo di stringa. Qualcuno può come è possibile?Java: inetaddress to String conversion

risposta

19

API Java per la classe InetAddress ha buoni metodi per le vostre esigenze, vedo. Prova questi metodi. Puoi consultare altri getter di proprietà di InetAddress per i tuoi ulteriori requisiti.

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

Hai provato a utilizzare il metodo InetAddress.toString()?

+0

Questo restituisce una barra. Utilizzare invece getHostAddress(). Vedi http://stackoverflow.com/questions/12947435/inetaddress-tostring-returns-a-forward-slash – LeslieM

1

Che dire

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

?

3

Basta chiamare il metodo InetAddress toString(). Inoltre, se si desidera specificamente il nome host, utilizzare getHostName. Se si desidera una rappresentazione in formato stringa dell'indirizzo IP, utilizzare getHostAddress().

campione:

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

Per maggiori informazioni consultare: http://www.java2s.com/Code/JavaAPI/javax.net/InetAddressgetByNameStringname.htm

+0

upvoted per il bit importante: getHostAddress se si desidera solo la stringa di indirizzo –