获得本机IP地址
代碼 package?test;
import?java.net.InetAddress;
import?java.net.NetworkInterface;
import?java.net.SocketException;
import?java.net.UnknownHostException;
import?java.util.Enumeration;
public?class?IPHelper?{
????public?static?void?main(String[]?args)?throws?UnknownHostException,?SocketException?{
????????//?只適用于Windows
????????InetAddress?inet?=?InetAddress.getLocalHost();
????????System.out.println("本機(jī)的IP為:"?+?inet.getHostAddress());
????????//?根據(jù)網(wǎng)卡取本機(jī)配置的IP,適用于Windows和Linux
????????Enumeration?netInterfaces?=?NetworkInterface.getNetworkInterfaces();
????????InetAddress?ip?=?null;
????????String?ipAddress?=?"";
????????while?(netInterfaces.hasMoreElements())?{
????????????NetworkInterface?ni?=?(NetworkInterface)?netInterfaces.nextElement();
????????????//?System.out.println("--------------"?+?ni.getDisplayName());
????????????Enumeration?inetAddress?=?ni.getInetAddresses();
????????????while?(inetAddress?!=?null?&&?inetAddress.hasMoreElements())?{
????????????????Object?obj?=?inetAddress.nextElement();
????????????????if?(obj?!=?null)?{
????????????????????//System.out.println(ni.getDisplayName());
????????????????????//System.out.println(obj.getClass().getName());
????????????????????ip?=?(InetAddress)obj;
????????????????????//System.out.println("本機(jī)的ip="?+?ip.getHostAddress());
????????????????????//if?(!ip.isSiteLocalAddress()?&&?!ip.isLoopbackAddress()?&&?ip.getHostAddress().indexOf(":")?==?-1)?{
????????????????????
????????????????????//?isSiteLocalAddress方法
????????????????????//?當(dāng)IP地址是地區(qū)本地地址(SiteLocalAddress)時(shí)返回true,否則返回false。IPv4的地址本地
????????????????????//?地址分為三段:10.0.0.0?~?10.255.255.255、172.16.0.0?~?172.31.255.255、192.168.0.0
????????????????????//?~?192.168.255.255。IPv6的地區(qū)本地地址的前12位是FEC,其他的位可以是任意取值,
????????????????????//?如FED0::、FEF1::都是地區(qū)本地地址。
????????????????????//?isLoopbackAddress方法
????????????????????//?當(dāng)IP地址是loopback地址時(shí)返回true,否則返回false。loopback地址就是代表本機(jī)的IP地址。
????????????????????//?IPv4的loopback地址的范圍是127.0.0.0?~?127.255.255.255,也就是說,只要第一個(gè)字節(jié)是127,
????????????????????//?就是lookback地址。如127.1.2.3、127.0.200.200都是loopback地址。IPv6的loopback地址是
????????????????????//?0:0:0:0:0:0:0:1,也可以簡寫成::1。
????????????????????System.out.println(ip.getHostAddress());
????????????????????if?(!ip.isLoopbackAddress()?&&?ip.getHostAddress().indexOf(":")?==?-1)?{
????????????????????????ipAddress?=?ip.getHostAddress();
????????????????????????break;
????????????????????}?else?{
????????????????????????ip?=?null;
????????????????????}
????????????????}
????????????}
????????}
????????System.out.println("本機(jī)的ip="?+?ipAddress);
????}
}
import?java.net.InetAddress;
import?java.net.NetworkInterface;
import?java.net.SocketException;
import?java.net.UnknownHostException;
import?java.util.Enumeration;
public?class?IPHelper?{
????public?static?void?main(String[]?args)?throws?UnknownHostException,?SocketException?{
????????//?只適用于Windows
????????InetAddress?inet?=?InetAddress.getLocalHost();
????????System.out.println("本機(jī)的IP為:"?+?inet.getHostAddress());
????????//?根據(jù)網(wǎng)卡取本機(jī)配置的IP,適用于Windows和Linux
????????Enumeration?netInterfaces?=?NetworkInterface.getNetworkInterfaces();
????????InetAddress?ip?=?null;
????????String?ipAddress?=?"";
????????while?(netInterfaces.hasMoreElements())?{
????????????NetworkInterface?ni?=?(NetworkInterface)?netInterfaces.nextElement();
????????????//?System.out.println("--------------"?+?ni.getDisplayName());
????????????Enumeration?inetAddress?=?ni.getInetAddresses();
????????????while?(inetAddress?!=?null?&&?inetAddress.hasMoreElements())?{
????????????????Object?obj?=?inetAddress.nextElement();
????????????????if?(obj?!=?null)?{
????????????????????//System.out.println(ni.getDisplayName());
????????????????????//System.out.println(obj.getClass().getName());
????????????????????ip?=?(InetAddress)obj;
????????????????????//System.out.println("本機(jī)的ip="?+?ip.getHostAddress());
????????????????????//if?(!ip.isSiteLocalAddress()?&&?!ip.isLoopbackAddress()?&&?ip.getHostAddress().indexOf(":")?==?-1)?{
????????????????????
????????????????????//?isSiteLocalAddress方法
????????????????????//?當(dāng)IP地址是地區(qū)本地地址(SiteLocalAddress)時(shí)返回true,否則返回false。IPv4的地址本地
????????????????????//?地址分為三段:10.0.0.0?~?10.255.255.255、172.16.0.0?~?172.31.255.255、192.168.0.0
????????????????????//?~?192.168.255.255。IPv6的地區(qū)本地地址的前12位是FEC,其他的位可以是任意取值,
????????????????????//?如FED0::、FEF1::都是地區(qū)本地地址。
????????????????????//?isLoopbackAddress方法
????????????????????//?當(dāng)IP地址是loopback地址時(shí)返回true,否則返回false。loopback地址就是代表本機(jī)的IP地址。
????????????????????//?IPv4的loopback地址的范圍是127.0.0.0?~?127.255.255.255,也就是說,只要第一個(gè)字節(jié)是127,
????????????????????//?就是lookback地址。如127.1.2.3、127.0.200.200都是loopback地址。IPv6的loopback地址是
????????????????????//?0:0:0:0:0:0:0:1,也可以簡寫成::1。
????????????????????System.out.println(ip.getHostAddress());
????????????????????if?(!ip.isLoopbackAddress()?&&?ip.getHostAddress().indexOf(":")?==?-1)?{
????????????????????????ipAddress?=?ip.getHostAddress();
????????????????????????break;
????????????????????}?else?{
????????????????????????ip?=?null;
????????????????????}
????????????????}
????????????}
????????}
????????System.out.println("本機(jī)的ip="?+?ipAddress);
????}
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/angushine/archive/2010/08/18/1802861.html
總結(jié)
- 上一篇: 这3句屁话,关键时刻能救命
- 下一篇: SharePoint:扩展DVWP -