2012-02-18 16 views
9

Szukałem dużo, ale nie mogłem znaleźć żadnego sposobu konwersji typu inetaddress na ciąg (może to być moje wyszukiwanie nie jest dobre: ​​S). Muszę go przekonwertować na typ string, ponieważ muszą wyświetlić wynik w textarea (składnik gui), który wymaga typu string.So może ktoś, jak to jest możliwe?Java: inetaddress do konwersji ciągów

Odpowiedz

19

Java API dla klasy InetAddress ma dobre metody dla Twoich potrzeb, widzę. Wypróbuj te metody. Możesz sprawdzić inne właściwości pobierające InetAddress, aby spełnić kolejne wymagania.

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

Czy próbowałeś użyć metody InetAddress.toString()?

+0

Zwraca ukośnik. Zamiast tego użyj getHostAddress(). Zobacz http://stackoverflow.com/questions/12947435/inetaddress-tostring-returns-a-forward-slash – LeslieM

1

Co

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

?

3

Wystarczy wywołać metodę InetAddress toString(). Ponadto, jeśli konkretnie chcesz nazwę hosta, użyj getHostName. Jeśli chcesz uzyskać ciąg znaków reprezentujący adres IP, użyj getHostAddress().

próbki:

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

uzyskać więcej informacji, zobacz: http://www.java2s.com/Code/JavaAPI/javax.net/InetAddressgetByNameStringname.htm

+0

przegłosowano dla ważnego fragmentu: getHostAddress, jeśli chcesz tylko ciąg adresu –

Powiązane problemy