java代码定义ip java代码定义json数据( 二 )


System.out.println(key+"--"+value);
}
}
class PingIpextends Thread{
public String ip;// IP
public PingIp(String ip){
this.ip=ip;
}
public void run(){
try{
Process p= Runtime.getRuntime().exec ("ping "+ip+ " -w 300 -n 1");
InputStreamReader ir = new InputStreamReader(p.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
//读取结果行
for (int i=1 ; i 7; i++)
input.readLine();
String line= input.readLine();
if (line.length() 17 || line.substring(8,17).equals("timed out"))
ping.put(ip,"false");
else
ping.put(ip,"true");
//线程结束
threadCount -= 1;
}catch (IOException e){}
}
}
}
给定一个ip,怎么判断它是否在一个数组中?请用java代码,我说一下方法吧,用伪代码讲了 。
一个IP类
class IP{
private String ipStr;
private Integer [] ipvalue=https://www.04ip.com/post/new Integer[4]();
public IP(){
ipStr="localhost";//等等····
ipvalue=https://www.04ip.com/post/new Integer[]{127,0,0,1};//
}
//- - - - -其他的方法,setter,getter
public Boolean ipIn(IP ip){
if(ipStr!=nullipStr.eq(ip.getIpStr()))return true;/////方法自己补齐 。具体的eq方法名不太记得了
Integer [] ipv=ip.etIpvalue();
Boolean res=true;
for(int i=0;i4;i++){
int t=ipv[i];
if(t!=-1t!=ipvalue[i]){//-1 表示通配符
res=false;
break;//ip地址已经不等
}
}
return res;
}
}
/////该方法用于达成你的目的
public Boolean ipInArr(IP ip,IP[] ips){
for(IP i:ips){
if(ip.ipIn(i))return true;//找到了,返回
}
return false;//没找到
}
以上代码为伪代码,请不要照抄,其中一些函数名可能写错了 , 请注意修改 。
求java中string类型转化为ip地址的代码,可以是任意字符串,如果不是ip的话做错误处理用split(“.”)将字符串分割成四段 , 再转换成数字,最后转换成二进制串,就是ip. 。如果不够四段或者不是数字等等就是错误
java如何确认IP是否属于某地址段java确认IP属于某地址段主要是判断IP前两组是否相同 , 使用如下方法:
(1)如果同一个网段的概念是:
192.168.0.1和192.168.0.254 , 那么用.拆分判断第一二三部分完全一致应该就可以了 , 当然填写的时候1到255的限制应该是起码的要求了;
(2)如果192.168.0.1 和 192.168.0.254 ,再配合上子网掩码定义为同一网段的话,那就用两个ip转换为二进制之后分别和二进制子网掩码做逻辑与 , 结果一致是不是就可以定义为同一网段;
网络中对网段的定义我也不太了解,不知道你是要遵循网络中的定义还是按你自己的需求来;
java代码定义ip的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java代码定义json数据、java代码定义ip的信息别忘了在本站进行查找喔 。

推荐阅读