91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 947KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-06-11
  • 語言: Java
  • 標(biāo)簽: 歸屬地??

資源簡介

手機(jī)號碼歸屬地?cái)?shù)據(jù)庫,2019-8月更新。總計(jì)錄數(shù):428971 數(shù)據(jù)格式為dat,這是完整的java解析代碼。

資源截圖

代碼片段和文件信息

package?cn.kbyte.utils.phone;

import?java.io.ByteArrayOutputStream;
import?java.io.InputStream;
import?java.nio.ByteBuffer;
import?java.nio.ByteOrder;
import?java.nio.charset.StandardCharsets;
import?java.util.Scanner;

/**
?*?Created?by?fengjiajie?on?16/10/12.
?*/
public?class?PhoneNumberGeo?{

??private?static?final?String[]?PHONE_NUMBER_TYPE?=?{null?“移動“?“聯(lián)通“?“電信“?“電信虛擬運(yùn)營商“?“聯(lián)通虛擬運(yùn)營商“?“移動虛擬運(yùn)營商“};
??private?static?final?int?INDEX_SEGMENT_LENGTH?=?9;
??private?static?final?int?DATA_FILE_LENGTH_HINT?=?3747505;
??private?static?final?String?PHONE_DAT_FILE_PATH?=?“phone-number-geo/phone.dat“;

??private?static?byte[]?dataByteArray;
??private?static?int?indexAreaOffset;
??private?static?int?phoneRecordCount;

??private?ByteBuffer?byteBuffer;

??private?static?synchronized?void?initData()?{
????if?(dataByteArray?==?null)?{
??????ByteArrayOutputStream?byteData?=?new?ByteArrayOutputStream(DATA_FILE_LENGTH_HINT);
??????byte[]?buffer?=?new?byte[1024];

??????int?readBytesLength;
??????try?(InputStream?inputStream?=?PhoneNumberGeo.class.getClassLoader().getResourceAsStream(PHONE_DAT_FILE_PATH))?{
????????while?((readBytesLength?=?inputStream.read(buffer))?!=?-1)?{
??????????byteData.write(buffer?0?readBytesLength);
????????}
??????}?catch?(Exception?e)?{
????????System.err.println(“Can‘t?find?phone.dat?in?classpath:?“?+?PHONE_DAT_FILE_PATH);
????????e.printStackTrace();
????????throw?new?RuntimeException(e);
??????}

??????dataByteArray?=?byteData.toByteArray();

??????ByteBuffer?byteBuffer?=?ByteBuffer.wrap(dataByteArray);
??????byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
??????int?dataVersion?=?byteBuffer.getInt();
??????indexAreaOffset?=?byteBuffer.getInt();
??????phoneRecordCount?=?(dataByteArray.length?-?indexAreaOffset)?/?INDEX_SEGMENT_LENGTH;

??????//?print?data?version
??????//?System.out.println(dataVersion);
??????//?print?record?count
??????//?System.out.println(phoneRecordCount);
????}
??}

??public?PhoneNumberGeo()?{
????initData();

????byteBuffer?=?ByteBuffer.wrap(dataByteArray);
????byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
??}

??public?PhoneNumberInfo?lookup(String?phoneNumber)?{
????if?(phoneNumber?==?null?||?phoneNumber.length()?>?11?||?phoneNumber.length()???????return?null;
????}
????int?phoneNumberPrefix;
????try?{
??????phoneNumberPrefix?=?Integer.parseInt(phoneNumber.substring(0?7));
????}?catch?(Exception?e)?{
??????return?null;
????}
????int?left?=?0;
????int?right?=?phoneRecordCount;
????while?(left?<=?right)?{
??????int?middle?=?(left?+?right)?>>?1;
??????int?currentOffset?=?indexAreaOffset?+?middle?*?INDEX_SEGMENT_LENGTH;
??????if?(currentOffset?>=?dataByteArray.length)?{
????????return?null;
??????}

??????byteBuffer.position(currentOffset);
??????int?currentPrefix?=?byteBuffer.getInt();
??????if?(currentPrefix?>?phoneNumberPrefix)?{
????????right?=?middle?-?1;
??????}?else?if?(currentPrefix?????????left?=?middle?+?1;
??????}?else?{
????????int?infoBeginOffset?=?byteBuffer.getInt();
??

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????1026??2019-08-12?15:30??pom.xml
?????目錄???????????0??2019-08-12?15:25??src\
?????目錄???????????0??2019-08-12?15:25??src\main\
?????目錄???????????0??2019-08-12?15:25??src\main\java\
?????目錄???????????0??2019-08-12?15:25??src\main\java\cn\
?????目錄???????????0??2019-08-12?15:25??src\main\java\cn\kbyte\
?????目錄???????????0??2019-08-12?15:25??src\main\java\cn\kbyte\utils\
?????目錄???????????0??2019-08-12?15:44??src\main\java\cn\kbyte\utils\phone\
?????文件????????4608??2019-08-12?15:44??src\main\java\cn\kbyte\utils\phone\PhoneNumberGeo.java
?????文件????????1390??2018-10-30?19:12??src\main\java\cn\kbyte\utils\phone\PhoneNumberInfo.java
?????目錄???????????0??2019-08-12?15:25??src\main\resources\
?????目錄???????????0??2019-08-12?15:25??src\main\resources\phone-number-geo\
?????文件?????3870885??2019-08-12?15:03??src\main\resources\phone-number-geo\phone.dat
?????目錄???????????0??2019-08-12?15:25??src\test\
?????目錄???????????0??2019-08-12?15:25??src\test\java\
?????目錄???????????0??2019-08-12?15:25??src\test\java\cn\
?????目錄???????????0??2019-08-12?15:25??src\test\java\cn\kbyte\
?????目錄???????????0??2019-08-12?15:25??src\test\java\cn\kbyte\utils\
?????目錄???????????0??2019-08-12?16:02??src\test\java\cn\kbyte\utils\phone\
?????文件????????1170??2019-08-12?16:02??src\test\java\cn\kbyte\utils\phone\PhoneNumberGeoTest.java

評論

共有 條評論