get Address方法でIPアドレスを取得する。
1529 ワード
get Addres方法とget HostAddresは同様であり、それらの唯一の違いはget HostAddres方法が戻ってくるのは文字列形式のIPアドレスであり、get Address方法が戻ってくるのはbyte配列形式のIPアドレスである。get Address方法の定義は以下の通りである。
http://www.blogjava.net/nokiaguy/archive/2009/04/21/266732.html
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