bjtdeyx

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            1 隨筆 :: 1 文章 :: 3 評論 :: 0 Trackbacks

          2012年2月21日 #

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

          網盤下載地址:http://115.com/file/dplk9jqn#


          1. public class IPSeeker {  
          2.     //純真IP數據庫名  
          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,查詢一個ip時首先查看cache,以減少不必要的重復查找  
          14.     private Map<String, IPLocation> ipCache;  
          15.     // 隨機文件訪問類  
          16.     private RandomAccessFile ipFile;  
          17.     // 內存映射文件  
          18.     private MappedByteBuffer mbb;  
          19.     // 起始地區的開始和結束的絕對偏移  
          20.     private long ipBegin, ipEnd;  
          21.     // 為提高效率而采用的臨時變量  
          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 心碎逍遙 閱讀(2712) | 評論 (2)編輯 收藏

          主站蜘蛛池模板: 青冈县| 达尔| 四平市| 灵川县| 印江| 清新县| 礼泉县| 滦南县| 芮城县| 洪湖市| 田林县| 梧州市| 恩施市| 黄梅县| 南平市| 阿尔山市| 镶黄旗| 广宗县| 清水县| 白玉县| 鄂伦春自治旗| 信丰县| 阜康市| 天峨县| 农安县| 白玉县| 教育| 罗田县| 射洪县| 大厂| 潜山县| 浦北县| 黄石市| 营山县| 五家渠市| 古浪县| 昭苏县| 洛隆县| 富源县| 汉源县| 湖北省|