web-dev-qa-db-ja.com

Java:文字列(IPを表す)をInetAddressに変換する

可能性のある複製:
JavaでStringをInetaddressに変換する簡単な方法はありますか?

文字列(IPアドレスを表す10.0.2.50など)をInetAddress objに変換しようとしています。

APIによれば、ホスト名を表す文字列を提供するオブジェクトを作成することができます(例:www.google.ch)。作成したい各InetAddressオブジェクトのホスト名がないため(これには時間がかかりすぎます)、これは私にとっては選択肢ではありません。

文字列(例:10.0.2.50)をInetAddress objに変換することはできますか? (APIによれば、IPがbyte[]である場合は可能ですが、IPを含むStringbyte[]に変換するにはどうすればよいですか?)

75
rob

テキストのIPアドレスを渡してInetAddress.getByName(String Host)を呼び出すだけです。

Javadocから:ホスト名は、「Java.Sun.com」などのマシン名、またはそのIPアドレスのテキスト表現のいずれかです。

InetAddress javadoc

151
Justin Waugh

InetAddress.getByName(String Host) のドキュメントから:

ホスト名は、「Java.Sun.com」などのマシン名、またはIPアドレスのテキスト表現のいずれかです。リテラルIPアドレスが指定されている場合、アドレス形式の有効性のみがチェックされます。

使用できます。

18
Björn