web-dev-qa-db-fra.com

Java: convertir une chaîne (représentant une adresse IP) en InetAddress

Duplicate possible:
Existe-t-il un moyen simple de convertir String en Inetaddress en Java?

J'essaie de convertir une chaîne (représentant une adresse IP, par exemple 10.0.2.50) dans un InetAddress obj.

Selon l’API, il est possible de créer un objet fournissant une chaîne représentant un nom d’hôte (par exemple, www.google.ch). Ce n'est pas une option pour moi car je n'ai pas le nom d'hôte pour chaque objet InetAddress que je veux créer (en plus, cela prend trop de temps).

Est-il possible de convertir une chaîne (par exemple, 10.0.2.50) dans un InetAddress obj.? (Selon l’API, il est possible de le faire si vous avez l’IP comme byte[], mais comment puis-je convertir un String contenant une adresse IP en byte[]?)

75
rob

Appelez simplement InetAddress.getByName(String Host) en transmettant votre adresse IP textuelle.

Depuis le javadoc: Le nom d'hôte peut être un nom de machine, tel que "Java.Sun.com", ou une représentation textuelle de son adresse IP.

InetAddress javadoc

151
Justin Waugh

De la documentation de InetAddress.getByName(String Host) :

Le nom d'hôte peut être un nom d'ordinateur, tel que "Java.Sun.com" ou une représentation textuelle de son adresse IP. Si une adresse IP littérale est fournie, seule la validité du format de l'adresse est vérifiée.

Donc, vous pouvez l'utiliser.

18
Björn