路由表转换小程序

由于是教育网,时刻要注意不要走收费流量,所以路由表一定要及时更新。我们学校的免费IP在http://hitsun.hit.edu.cn/zxiplist.htm上提供,要把这些地址转换成类似“*.*.*.*/24 via *.*.*.*”的形式,其实就是一个字符串处理程序,注意合适的使用String类中的split方法。

java 代码
  1. package netManage;   
  2.   
  3. import java.io.*;   
  4.   
  5. public class FreeIpGenerator {   
  6.   
  7.     /**  
  8.      * @param args  
  9.      */  
  10.     public static void main(String[] args) throws Exception{   
  11.         // TODO Auto-generated method stub   
  12.         FileReader fr = new FileReader("freeip.txt");   
  13.         File f = new File("routetable.txt");   
  14.         if(f.exists()){   
  15.             f.delete();   
  16.         }   
  17.         f.createNewFile();   
  18.         FileWriter fw = new FileWriter(f);   
  19.         BufferedReader br = new BufferedReader(fr);   
  20.         BufferedWriter bw = new BufferedWriter(fw);   
  21.         String line;   
  22.            
  23.         while((line = br.readLine())!= null){   
  24.             if(line.length()!= 0){   
  25.                 String[] words = line.split(" +");   
  26.                 bw.write(words[0]+"/");   
  27.                 bw.write(Integer.toString(getNumber(words[2])));   
  28.                 bw.write(" via 202.118.242.30\n");     
  29.             }   
  30.         }   
  31.         bw.close();   
  32.         br.close();   
  33.         fw.close();   
  34.         fr.close();   
  35.     }   
  36.        
  37.     //from the ip mask get the real number   
  38.     //e.g 255.255.255.0->24   
  39.     public static int getNumber(String ipmask){   
  40.         String[] ips = ipmask.split("\\.");   
  41.         int value = 0;   
  42.         for(String ip:ips){   
  43.             //System.out.print(Integer.getInteger(ip.substring(0,ip.length()-2)));   
  44.             value = value + Integer.bitCount(Integer.decode(ip));   
  45.         }   
  46.         return value;   
  47.     }   
  48. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值