其实本机获得 一句话就可以搞定
InetAddress.getLocalHost() 但是问题是 这个机子有两个 MAC 两个ip
怎么能获得 一个MAC对应那个IP ????
这个问题
之前我是通过
Runtime.getRuntime().exec("cmd /c ipconfig /all")
但是这样是敲命令阿
还是不行
操作系统不一样就不行了我想只有高手才能解决了 ..
因为我也查询了很多资料 ..
希望高手赐教 ..
InetAddress.getLocalHost() 但是问题是 这个机子有两个 MAC 两个ip
怎么能获得 一个MAC对应那个IP ????
这个问题
之前我是通过
Runtime.getRuntime().exec("cmd /c ipconfig /all")
但是这样是敲命令阿
还是不行
操作系统不一样就不行了我想只有高手才能解决了 ..
因为我也查询了很多资料 ..
希望高手赐教 ..
解决方案 »
- 这个程序哪错了?
- 帮忙解决2个简单问题,没分了,最后的20分拿出来
- 为什么我的程序中calendar.get(Calendar.YEAR)得到的年份总是错误的啊!
- 关于用机器时间进行加密
- public类型的变量有什么坏处.??
- j2SDK在哪下载?
- JAVA初学者在JDK环境变量设置里最关心的三步曲
- 对JAVA语法和面向对象比较了解,我想熟悉JAVA API,那我因该看什么样的资料最合适?
- java高手,请问我应该怎样学好JAVA(只能给这么多了)
- 好纠结 提供给APP的服务写在web项目上还是单独一个项目中
- 请教各位大侠,如何根据JTabel 的内容来决定他的列是否可编辑?
- 关于eclipse开发的困惑
public String getLocalHostName() {
String hostName;
try {
InetAddress addr = InetAddress.getLocalHost();
hostName = addr.getHostName();
} catch (Exception ex) {
hostName = "";
}
return hostName;
}public String[] getAllLocalHostIP() {
String[] ret = null;
try {
String hostName = getLocalHostName();
if (hostName.length() > 0) {
InetAddress[] addrs = InetAddress.getAllByName(hostName);
if (addrs.length > 0) {
ret = new String[addrs.length];
for (int i = 0; i < addrs.length; i++) {
ret[i] = addrs[i].getHostAddress();
}
}
} } catch (Exception ex) {
ret = null;
}
return ret;
}
我测试了!是可以的!我的是VMware Network Adapter VMnet1,VMware Network Adapter VMnet8,LAN
192.168.1.104
192.168.6.1
192.168.80.1网线断开是不能测试到的
* @(#)StringUtil .java
* 版权声明 YaYiSoft 版权所有 违者必究
*
* 修订记录:
* 1)更改者:Easydozer
* 时 间:2008-10-11
* 描 述:创建
*/import java.net.InetAddress;/**
*
*
*
*
* @author Mead Lai
* @version 1.0
* @see
* @since 1.0
*/
class StringUtil {
public String getLocalHostName() {
String hostName;
try {
InetAddress addr = InetAddress.getLocalHost();
hostName = addr.getHostName();
} catch (Exception ex) {
hostName = "";
}
return hostName;
} public String[] getAllLocalHostIP() {
String[] ret = null;
try {
String hostName = getLocalHostName();
if (hostName.length() > 0) {
InetAddress[] addrs = InetAddress.getAllByName(hostName);
if (addrs.length > 0) {
ret = new String[addrs.length];
for (int i = 0; i < addrs.length; i++) {
ret[i] = addrs[i].getHostAddress();
}
}
} } catch (Exception ex) {
ret = null;
}
return ret;
} public static void main(String[] args) { StringUtil su = new StringUtil();
String[] ip = su.getAllLocalHostIP();
for (String s : ip) {
System.out.println(s);
}
}}
解决了
十分感谢你 ..
但是还有一些别的问题 ..
我如果想拿java 修改 ip
我不想用 Runtime.getRuntime().exec()
这种命令的方式修改
我还可以用什么方法呢?
正在考虑中 ..
你有什么好的办法吗?