共三个文件分别贴代码:
第一个:写文件Log.java
package cn.ty.iputils;
import java.io.*;
import java.util.*;
public class Log {
/**
* 记录日志内容
* */
public static void writeComLog(String str) {
String filename = "results.log";
try {
BufferedWriter bufOut;
File f = new File(filename);
if(f.exists()==true){
bufOut = new BufferedWriter(new FileWriter(f,true));
}else {
bufOut = new BufferedWriter(new FileWriter(f));
}
bufOut.write(str + "\n");
bufOut.close();
} catch(Exception e) {
System.out.println("Error");
}
}
}
第二个:NetUtils.java
package cn.ty.iputils;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.net.URLConnection;
public class NetUtils {
/**
* @param URL
* @return String
* @throws IOException
* @ses 抓取指定URL地址的网页内容值并返回内容
* @exception IOException
* */
public String parseContent(String urls) throws IOException {
URL url = new URL(urls);
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
String s = "";
StringBuffer sb = new StringBuffer("");
while ((s = br.readLine())!=null) {
if (!s.startsWith("#")) {
String[] resultStrings = s.split(" ");
if(resultStrings[6].equalsIgnoreCase("cn")) {
sb.append(s+"\r\n");
}
}
}
br.close();
return sb.toString();
}
}
第三个:主程序IPExplain.java
/**
*文件名: IPExplain.java
*创建人: 遥方
*日 期: 2010-03-25
*描 述: 分析中国IP段范围
*版本号: V1.0
*/
package cn.ty.iputils;
import java.io.IOException;
import cn.ty.iputils.NetUtils;
import cn.ty.iputils.Log;
public class IPExplain {
public static void main(String[] args) throws IOException {
String outputs = new NetUtils().parseContent("");
Log.writeComLog(outputs);
}
/**
* FunName: listIP
* Description : JAVA遍历IP地址段中的所有IP
* @Create Date: 2010-03-25
*/
private static void listIP() {
int ipBegin[]=new int[4];
ipBegin[0]=124;
ipBegin[1]=66;
ipBegin[2]=0;
ipBegin[3]=0;
int ipEnd[]=new int[4];
ipEnd[0]=124;
ipEnd[1]=66;
ipEnd[2]=89;
ipEnd[3]=255;
long count=0;
while(true) {
count++;
if(ipBegin[3]!=ipEnd[3]){
ipBegin[3]+=1;
} else if(ipBegin[2]!=ipEnd[2]){
ipBegin[3]=0;
ipBegin[2]+=1;
} else if(ipBegin[1]!=ipEnd[1]){
ipBegin[3]=0;
ipBegin[2]=0;
ipBegin[1]+=1;
} else if(ipBegin[0]!=ipEnd[0]){
ipBegin[3]=0;
ipBegin[2]=0;
ipBegin[1]=0;
ipBegin[0]+=1;
} else {
System.out.println("end");
break;
}
System.out.println(ipBegin[0]+"."+ipBegin[1]+"."+ipBegin[2]+"."+ipBegin[3]);
}
System.out.println(String.valueOf(count));
}
}
运行即可!可以快速查找属于中国的IP段!
阅读(1401) | 评论(0) | 转发(0) |