「java实现ip地址转换」整数与ip地址的转换java

博主:adminadmin 2023-01-21 08:00:13 270

本篇文章给大家谈谈java实现ip地址转换,以及整数与ip地址的转换java对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java如何实现对本机的ip地址 网关地址 子网

提供一种可行的方法。供你参考。思路是利用操作系统的shell,执行相应的命令。

以下以WINDOW操作系统为例。LINUX的思路相同。

1,在E;\下建立如下两个bat文件,内容分别如下:

e:\setip1.bat文件内容:

rem  设置IP、子网掩码、默认网关

c:

cd \

netsh exec  e:\setip.bat

另一个文件e:\setip.bat文件内容:

interface

ip

set address "本地连接" static 192.168.1.111  255.255.255.0 192.168.1.1

exit

2,执行脚本命令的JAVA程序

java中如何过去本机ip地址并输出

InetAddress addr = InetAddress.getLocalHost();

ip=addr.getHostAddress().toString;//获得本机IP

address=addr.getHostName()toString;//获得本机名称

请问谁能告诉我用java怎么做简单的IP地址和域名的正反向查询器啊?

感兴趣,查了半天,只能将域名转换为IP,IP转域名不是很好用。源代码如下:

import java.net.*;

public class GetAddress {

public static void main (String[] argv) throws Exception {

InetAddress host=null;

//host=InetAddress.getLocalHost();

host=InetAddress.getByName("");

//host=InetAddress.getByAddress(new byte[]{(byte)202,108,22,43});

byte[] ip=host.getAddress();

for (int i=0;iip.length;i++) {

if (i0) System.out.print(".");

System.out.print(ip[i] 0xff);

}

System.out.println("Name:" + host.getCanonicalHostName());

System.out.println();

}

}

使用java根据基准IP和IP掩码计算IP地址

你是要比较2个ip是否在一个子网里吧?

把ip和子网掩码转换成二进制 做“按位与”运算 得出的就是网络id号a 另一个ip也是一样计算方法 得出网络id号b

比较a=b 就说明在一个子网 反之 不在

ip转换成二进制的时候 注意按段转

java算法 将ip地址段拆分成一个个

拆分啊,可以用下面的方法:

先定义一个String接受字符串进来,或者把字符串用“”括起来,然后用这个变量或者“”括起来的,substring截取字符串,条件是第一个~~前的,用indexof,(注意截取位置不包括最后一个),把其截取出来存入你想存的地方,成功后把字符串截取出来的部分从原字符串中去掉,同时也把第一个~~去掉,,然后继续截取第一个~~前的,一个循环把这些括起来,然后有多少ip,截取多少次,要放数组,放数组,要放list放list,还不你说了算?/?

public class testIPSplit {

/**

* @param args

* 例如58.63.239.160~~58.63.239.191变成 58.63.239.160 58.63.239.161 。。。。。问题补充:

* 有一个字符串的IP组:10.46.40.1--10.46.88.127,将这个ip地址段拆分为一个个ip地址,如

* 10.46.40.1;10.46.40.2;10.46.40.3。。。一直到10.46.88.125;10.46.88.126;10.46.88.127,

* 最后将这些单个地址存入一个数组中 要写一个算法

*

*

*/

public static void main(String[] args) {

String ipin="58.63.239.160~~58.63.239.191~~58.63.239.160~~58.63.239.191~~58.63.239.160~~58.63.239.191";/*定义一个字符串把你要转换的ip地址接受进来*/

System.out.println("开始时接收到的字符串是:"+ipin);

int account=0;

for(int k=0;kipin.length()-1;k++){

if("~".equals(ipin.substring(k,(k+1))) "~".equals(ipin.substring((k+1),(k+2)))){

account++;

}

}

if(!"~".equals(ipin.substring(ipin.length()-1, ipin.length())) !"~".equals(ipin.substring(ipin.length()-2, ipin.length()-1))){

account++;

}

String[] ipout=new String[account];

int i=0;

int count=0;

for(i=0;iipin.length();i++){

if(ipin!=""){

if(count1){

if(ipin.indexOf("~~")==-1 ){

count++;

ipout[i]=ipin;/*取出ip地址放入数组中*/

ipin=ipin.substring(0,ipin.length());

}

if(ipin.indexOf("~~")!=-1){

ipout[i]=ipin.substring(0,ipin.indexOf("~~"));/*取出ip地址放入数组中*/

ipin=ipin.substring(ipin.indexOf("~~")+2,ipin.length());

}

}

}

}

System.out.println("把里面的ip地址取出来后放入数组中,数组的长度是:"+ipout.length);

for(int j=0;jipout.length;j++){

System.out.println("从字符串中取出的第"+(j+1)+"个IP地址是:"+ipout[j]);

}

}

}

算了,本来也不是为了分才给你回答的,我花了点时间给你写了一个,我测试过,可以使用,到时候把类的名字改过来,注意下我有没有少粘贴括号的话,放到程序中,可以直接运行。

对了,粘贴一下显示结果吧:

***********************************************************************************************************************

开始时接收到的字符串是:58.63.239.160~~58.63.239.191~~58.63.239.160~~58.63.239.191~~58.63.239.160~~58.63.239.191~~58.63.239.191~~58.63.239.160~~58.63.239.191

把里面的ip地址取出来后放入数组中,数组的长度是:9

从字符串中取出的第1个IP地址是:58.63.239.160

从字符串中取出的第2个IP地址是:58.63.239.191

从字符串中取出的第3个IP地址是:58.63.239.160

从字符串中取出的第4个IP地址是:58.63.239.191

从字符串中取出的第5个IP地址是:58.63.239.160

从字符串中取出的第6个IP地址是:58.63.239.191

从字符串中取出的第7个IP地址是:58.63.239.191

从字符串中取出的第8个IP地址是:58.63.239.160

从字符串中取出的第9个IP地址是:58.63.239.191

数组长度是随着你的输入变的记得那个分隔符,变了中间所有用到分隔符的也要变更

关于java实现ip地址转换和整数与ip地址的转换java的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。