java getipaddress_教你java用getAddress方法取得IP地址
本篇教你java用getAddress方法取得IP地址:
getAddress方法和getHostAddress類似,它們的唯一區(qū)別是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte數(shù)組形式的IP地址。getAddress方法的定義如下:
public?byte[]?getAddress()
這個(gè)方法返回的byte數(shù)組是有符號(hào)的。在Java中byte類型的取值范圍是-128?127。如果返回的IP地址的某個(gè)字節(jié)是大于127的整數(shù),在byte數(shù)組中就是負(fù)數(shù)。由于Java中沒(méi)有無(wú)符號(hào)byte類型,因此,要想顯示正常的IP地址,必須使用int或long類型。下面代碼演示了如何利用getAddress返回IP地址,以及如何將IP地址轉(zhuǎn)換成正整數(shù)形式。
package?mynet;
import?java.net.*;
public?class?MyIP
{
public?static?void?main(String[]?args)?throws?Exception
{
InetAddress?address?=?InetAddress.getByName("www.csdn.net");
byte?ip[]?=?address.getAddress();
for?(byte?ipSegment?:?ip)
System.out.print(ipSegment?+?"?");
System.out.println("");
for?(byte?ipSegment?:?ip)
{
int?newIPSegment?=?(ipSegment?
System.out.print(newIPSegment?+?"?");
}
}
}
運(yùn)行結(jié)果:
-45?100?26?122
211?100?26?122
從上面的運(yùn)行結(jié)果可以看出,第一行輸出了未轉(zhuǎn)換的IP地址,由于www.csdn.net的IP地址的第一個(gè)字節(jié)大于127,因此,輸出了一個(gè)負(fù)數(shù)。而第二行由于將IP地址的每一個(gè)字節(jié)轉(zhuǎn)換成了int類型,因此,輸出了正常的IP地址。
總結(jié)
以上是生活随笔為你收集整理的java getipaddress_教你java用getAddress方法取得IP地址的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: js数组截取前5个_我不能没有的5个Vu
- 下一篇: python核心教程_python核心教