java 实现获得本机地址和IP
2014-04-17 20:46
477 查看
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://hanchaohan.blog.51cto.com/2996417/793377
package com.hanchao.test;
import java.net.InetAddress;
/**
* 获取本机IP的程序
* @author hanchao
*/
public class GetLocalIp {
/**
* 知识的补充
*
* InetAddress 继承自 java.lang.Object类
* 它有两个子类:Inet4Address 和 Inet6Address
* 此类表示互联网协议 (IP) 地址。
*
* IP 地址是 IP 使用的 32 位或 128 位无符号数字,
* 它是一种低级协议,UDP 和 TCP 协议都是在它的基础上构建的。
*
* ************************************************
* 主机名就是计算机的名字(计算机名),网上邻居就是根据主机名来识别的。
* 这个名字可以随时更改,从我的电脑属性的计算机名就可更改。
* 用户登陆时候用的是操作系统的个人用户帐号,这个也可以更改,
* 从控制面板的用户界面里改就可以了。这个用户名和计算机名无关。
*/
/**
* 获取本机的IP
* @return Ip地址
*/
public static String getLocalHostIP() {
String ip;
try {
/**返回本地主机。*/
InetAddress addr = InetAddress.getLocalHost();
/**返回 IP 地址字符串(以文本表现形式)*/
ip = addr.getHostAddress();
} catch(Exception ex) {
ip = "";
}
return ip;
}
/**
* 或者主机名:
* @return
*/
public static String getLocalHostName() {
String hostName;
try {
/**返回本地主机。*/
InetAddress addr = InetAddress.getLocalHost();
/**获取此 IP 地址的主机名。*/
hostName = addr.getHostName();
}catch(Exception ex){
hostName = "";
}
return hostName;
}
/**
* 获得本地所有的IP地址
* @return
*/
public static String[] getAllLocalHostIP() {
String[] ret = null;
try {
/**获得主机名*/
String hostName = getLocalHostName();
if(hostName.length()>0) {
/**在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。*/
InetAddress[] addrs = InetAddress.getAllByName(hostName);
if(addrs.length>0) {
ret = new String[addrs.length];
for(int i=0 ; i< addrs.length ; i++) {
/**.getHostAddress() 返回 IP 地址字符串(以文本表现形式)。*/
ret[i] = addrs[i].getHostAddress();
}
}
}
}catch(Exception ex) {
ret = null;
}
return ret;
}
public static void main(String[] args) {
System.out.println("本机IP:" + getLocalHostIP());
System.out.println("本地主机名字为:" + getLocalHostName());
String[] localIP = getAllLocalHostIP();
for (int i = 0; i < localIP.length; i++) {
System.out.println(localIP[i]);
}
}
}
执行结果我就不贴出来了!希望对您有所帮助。
package com.hanchao.test;
import java.net.InetAddress;
/**
* 获取本机IP的程序
* @author hanchao
*/
public class GetLocalIp {
/**
* 知识的补充
*
* InetAddress 继承自 java.lang.Object类
* 它有两个子类:Inet4Address 和 Inet6Address
* 此类表示互联网协议 (IP) 地址。
*
* IP 地址是 IP 使用的 32 位或 128 位无符号数字,
* 它是一种低级协议,UDP 和 TCP 协议都是在它的基础上构建的。
*
* ************************************************
* 主机名就是计算机的名字(计算机名),网上邻居就是根据主机名来识别的。
* 这个名字可以随时更改,从我的电脑属性的计算机名就可更改。
* 用户登陆时候用的是操作系统的个人用户帐号,这个也可以更改,
* 从控制面板的用户界面里改就可以了。这个用户名和计算机名无关。
*/
/**
* 获取本机的IP
* @return Ip地址
*/
public static String getLocalHostIP() {
String ip;
try {
/**返回本地主机。*/
InetAddress addr = InetAddress.getLocalHost();
/**返回 IP 地址字符串(以文本表现形式)*/
ip = addr.getHostAddress();
} catch(Exception ex) {
ip = "";
}
return ip;
}
/**
* 或者主机名:
* @return
*/
public static String getLocalHostName() {
String hostName;
try {
/**返回本地主机。*/
InetAddress addr = InetAddress.getLocalHost();
/**获取此 IP 地址的主机名。*/
hostName = addr.getHostName();
}catch(Exception ex){
hostName = "";
}
return hostName;
}
/**
* 获得本地所有的IP地址
* @return
*/
public static String[] getAllLocalHostIP() {
String[] ret = null;
try {
/**获得主机名*/
String hostName = getLocalHostName();
if(hostName.length()>0) {
/**在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。*/
InetAddress[] addrs = InetAddress.getAllByName(hostName);
if(addrs.length>0) {
ret = new String[addrs.length];
for(int i=0 ; i< addrs.length ; i++) {
/**.getHostAddress() 返回 IP 地址字符串(以文本表现形式)。*/
ret[i] = addrs[i].getHostAddress();
}
}
}
}catch(Exception ex) {
ret = null;
}
return ret;
}
public static void main(String[] args) {
System.out.println("本机IP:" + getLocalHostIP());
System.out.println("本地主机名字为:" + getLocalHostName());
String[] localIP = getAllLocalHostIP();
for (int i = 0; i < localIP.length; i++) {
System.out.println(localIP[i]);
}
}
}
执行结果我就不贴出来了!希望对您有所帮助。
相关文章推荐
- 利用webservice查询ip的物理地址 java实现
- Java/JSP获得客户端网卡MAC地址的三种方法解析(附:获得真实IP)
- 【java】:java中获得本机ip地址和本机名
- Java 输出通过 InetAddress 获得的 IP 地址数组
- 根据IP找地址的java实现
- Java 实现根据 IP 地址获取地理位置的代码分享
- C++获得本机所有网卡的IP和MAC地址信息的实现方法
- Java 输出通过 InetAddress 获得的 IP 地址数组
- 实现“记录用户登录时间和退出时间,同时记录用户IP,并且要记录用户IP对应的省和城市地址”
- Java实现IP/TCP通信帮助类SocketSimple
- Java 获得用户远程地址
- JAVA分别实现Windows平台和Linux平台下的ip获取
- (转)java实现动态切换上网IP (ADSL拨号上网) java 断网重连 (原)读取cmd消息 乱码解决
- 【C++】获得本机所有网卡的IP和MAC地址信息(转)
- iOS - 关于获取本机IP地址的实现
- 获得ip和mac地址
- Java获得CPU序列号和网卡Mac地址
- 利用 QQWry.Dat 实现 IP 地址高效检索(PHP)
- java获取mac地址-屏蔽ip封mac地址
- JAVA程序动态获得当前jar程序所在目录的实现技巧