100 votes

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

Possible Duplicate:
Y a-t-il un moyen facile de convertir une chaîne en Inetaddress en Java?

Je essaie de convertir une chaîne (représentant une adresse IP, par exemple 10.0.2.50) en un objet InetAddress.

Selon l'API, il est possible de créer un objet en 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 de prendre trop de temps).

Est-il possible de convertir une chaîne (par exemple 10.0.2.50) en un objet InetAddress? (selon l'api, il est possible de le faire si vous avez l'IP en tant que byte[], mais comment convertir une String contenant une IP en byte[]?)

189voto

Justin Waugh Points 1901

Il suffit d'appeler InetAddress.getByName(String host) en passant votre adresse IP textuelle.

De la javadoc: Le nom d'hôte peut être soit un nom de machine, tel que "java.sun.com", soit une représentation textuelle de son adresse IP.

19voto

Björn Points 15485

À partir de la documentation de InetAddress.getByName(String host):

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. Si une adresse IP littérale est fournie, seule la validité du format de l'adresse est vérifiée.

Vous pouvez donc l'utiliser.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X