get Address方法でIPアドレスを取得する。


get Addres方法とget HostAddresは同様であり、それらの唯一の違いはget HostAddres方法が戻ってくるのは文字列形式のIPアドレスであり、get Address方法が戻ってくるのはbyte配列形式のIPアドレスである。get Address方法の定義は以下の通りである。
public byte[] getAddress()
この方法で返されるbyte配列には符号があります。Javaにおけるbyteタイプの取得範囲は−128〜127である。戻るIPアドレスのあるバイトが127より大きい整数であれば、byte配列において負の数となる。Javaには符号なしbyteタイプがないので、通常のIPアドレスを表示するには、intまたはlongタイプが必要です。以下のコードは、get Addressを用いてIPアドレスに返信する方法と、IPアドレスを正の整数形式に変換する方法を示している。
package cn.com.songjy.test;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class MyIP {

	/**
	 * @param args
	 * @throws UnknownHostException 
	 */
	public static void main(String[] args) throws UnknownHostException {
		InetAddress address = InetAddress.getByName("www.baidu.com");
		//address = InetAddress.getLocalHost();
        byte ip[] = address.getAddress();
        for (byte ipSegment : ip)
            System.out.print(ipSegment + " ");
        System.out.println("");
        for (byte ipSegment : ip)
        {
            int newIPSegment = (ipSegment < 0) ? 256 + ipSegment : ipSegment;
            System.out.print(newIPSegment + " ");
        }

	}

}
引用:
http://www.blogjava.net/nokiaguy/archive/2009/04/21/266732.html