bjtdeyx

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            1 隨筆 :: 1 文章 :: 3 評(píng)論 :: 0 Trackbacks

          2012年2月21日 #

          介紹通過IP地址查找ip具體的城市和運(yùn)營商!
          通過QQIP地址庫:QQWry.Dat編寫
          以下只貼出少量代碼,請(qǐng)各位直接到本人的網(wǎng)盤下載完整版(代碼+最新QQWry.Dat),項(xiàng)目可直接運(yùn)行!
          QQWry.Dat大小為8.79M,項(xiàng)目大小僅390k,直接運(yùn)行IPTest.java類即可!
          此代碼可用于各種java項(xiàng)目和jsp、j2ee項(xiàng)目
          注意:QQWry.Dat只需文件放在對(duì)應(yīng)的目錄下即可。

          網(wǎng)盤下載地址:http://115.com/file/dplk9jqn#


          1. public class IPSeeker {  
          2.     //純真IP數(shù)據(jù)庫名  
          3.     private String IP_FILE="QQWry.Dat";  
          4.     //保存的文件夾  
          5.     private String INSTALL_DIR="f:/qqwry";  
          6.       
          7.       
          8.     // 一些固定常量,比如記錄長度等等  
          9.     private static final int IP_RECORD_LENGTH = 7;  
          10.     private static final byte REDIRECT_MODE_1 = 0x01;  
          11.     private static final byte REDIRECT_MODE_2 = 0x02;  
          12.       
          13.     // 用來做為cache,查詢一個(gè)ip時(shí)首先查看cache,以減少不必要的重復(fù)查找  
          14.     private Map<String, IPLocation> ipCache;  
          15.     // 隨機(jī)文件訪問類  
          16.     private RandomAccessFile ipFile;  
          17.     // 內(nèi)存映射文件  
          18.     private MappedByteBuffer mbb;  
          19.     // 起始地區(qū)的開始和結(jié)束的絕對(duì)偏移  
          20.     private long ipBegin, ipEnd;  
          21.     // 為提高效率而采用的臨時(shí)變量  
          22.     private IPLocation loc;  
          23.     private byte[] buf;  
          24.     private byte[] b4;  
          25.     private byte[] b3;  
          26.       
          27.     public IPSeeker(String fileName,String dir)  {  
          28.         this.INSTALL_DIR=dir;  
          29.         this.IP_FILE=fileName;  
          30.         ipCache = new HashMap<String, IPLocation>();  
          31.         loc = new IPLocation();  
          32.         buf = new byte[100];  
          33.         b4 = new byte[4];  
          34.         b3 = new byte[3];  
          35.         try {  
          36.             ipFile = new RandomAccessFile(IP_FILE, "r");  
          37.         } catch (FileNotFoundException e) { 
          38. ...........
          39. .............
          40. ................
          posted @ 2012-02-21 13:09 心碎逍遙 閱讀(2714) | 評(píng)論 (2)編輯 收藏

          僅列出標(biāo)題  
          主站蜘蛛池模板: 宜良县| 务川| 徐汇区| 松江区| 怀集县| 吴忠市| 松潘县| 海伦市| 新宁县| 库车县| 邯郸市| 青冈县| 呼伦贝尔市| 临邑县| 武隆县| 昌都县| 徐闻县| 卢氏县| 汝阳县| 桦南县| 保靖县| 余姚市| 大同市| 九寨沟县| 通江县| 友谊县| 洛浦县| 沾化县| 洛南县| 依兰县| 黔江区| 奎屯市| 灵璧县| 敖汉旗| 永州市| 调兵山市| 乐陵市| 改则县| 德钦县| 泾源县| 剑川县|