
你可以用这个方法读取你所需要的本机IP地址
=======================================================
J2SE50新特性之ProcessBuilder
这个例子使用了J2SE50的ProcessBuilder类执行外部的程序,相对于 Runtimeexec ,它更方便,可以设置环境变量等。这里使用它在windows下读取物理网卡的地址
package comkuaffjdk5package;
import javaioIOException;
import javaioInputStream;
import javautilArrayList;
import javautilList;
public class ProcessBuilderShow
{
public static List getPhysicalAddress()
{
Process p = null;
//物理网卡列表
List address = new ArrayList();
try
{
//执行ipconfig /all命令
p = new ProcessBuilder("ipconfig", "/all")start();
}
catch (IOException e)
{
return address;
}
byte[] b = new byte[1024];
StringBuffer sb = new StringBuffer();
//读取进程输出值
InputStream in = pgetInputStream();
try
{
while (inread(b)>0)
{
sbappend(new String(b));
}
}
catch (IOException e1)
{
}
finally
{
try
{
inclose();
}
catch (IOException e2)
{
}
}
//以下分析输出值,得到物理网卡
String rtValue = sbsubstring(0);
int i = rtValueindexOf("Physical Address :");
while(i>0)
{
rtValue = rtValuesubstring(i + "Physical Address :"length());
addressadd(rtValuesubstring(0,18));
i = rtValueindexOf("Physical Address :");
}
return address;
}
public static void main(String[] args)
{
List address = ProcessBuilderShowgetPhysicalAddress();
for(String add:address)
{
Systemoutprintf("物理网卡地址:%s%n", add);
}
}
}
public String getIpAddr(> }
不过获取本机的ip地址 会变成 000001
要解决这个问题,首先要明白域名与ip之间的联系。
我们平时在配置本地ip的时候,都会有一个dns,dns的作用就是将域名解析为ip后,找到对应的ip地址上对应的内容,然后在页面打开展示给你。
你现在想要通过ip来得到域名的话,有两种方式:
一种是你找到一个ip与域名对应的数据,然后根据这个数据来查找;
另外的话就是找一下,看看网络上是否有使用ip来查询并返回域名的接口。
通过这个接口来实现域名反查,但是这种接口一般都是专门做ip解析的公司内部使用的,像万网之类的,像ping和tracert返回的数据都是返回的ip的,不会有域名返回来的。
以上就是关于java获得IP地址全部的内容,包括:java获得IP地址、java 怎么获取客户端的ip、java IP反查域名,我随意输入IP,能得到此IP下所有的域名,例子,思路,资料,什么都要等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)