• 大小: 1.04MB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2023-08-09
  • 语言: Java
  • 标签: JAVA  phoneNum  CODE  Util  

资源简介

手机号归属地查询,JAVA工具类,附带SDK包,附带源码,附带数据源,支持超大文本解析

资源截图

代码片段和文件信息

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.StringReader;

import com.alibaba.fastjson.JSONReader;

/**
 * 手机号码归属工具类
 * 
 * @author MYL
 */
public class PhoneNumAddress {
/**
 * 读取文本JSON
 * 
 * @param filePath
 * @return
 */
public static String readTxt(String filePath) {
StringBuilder sb = new StringBuilder();
try {
File file = new File(filePath);
if (file.isFile() && file.exists()) {
InputStreamReader isr = new InputStreamReader(
new FileInputStream(file) “GBK“);
BufferedReader br = new BufferedReader(isr);
String lineTxt = null;
while ((lineTxt = br.readLine()) != null) {
sb.append(lineTxt);
}
br.close();
} else {
System.out.println(“文件不存在!“);
}
} catch (Exception e) {
System.out.println(“文件读取错误!“);
}
return sb.toString();
}

/**
 * 归属地查询(利用FastJson解析检索内容)
 * 
 * @param jsonString
 * @param str
 */
@SuppressWarnings(“resource“)
public static void fastParseJson(String jsonString String str) {
String str2 = ““;
// 打印标识 0:关闭1启动
int startPrint = 0;
JSONReader reader = new JSONReader(new StringReader(jsonString));
// 读取list数组
reader.startArray();
while (reader.hasNext()) {
// 打印次数
int countPrint = 4;
// 读取对象
reader.startobject();
while (reader.hasNext()) {
// 把所有双引号包含内容读取成key 例:{“name“:“张三““sex“:“男“} key={namesex}
String arrayListItemKey = reader.readString();
// 获取的key的键值 例:{“name“:“张三““sex“:“男“} value={张三男}
String arrayListItemValue = reader.readobject().toString();
if (arrayListItemKey.equals(“CODE“)) {
if (arrayListItemValue.equals(str.substring(0 7))) {
// 启动打印
startPrint = 1;
}
}
// 打印拼接功能
if (startPrint == 1 && countPrint > 0) {
// System.out.print(arrayListItemKey + “:“ +
// arrayListItemValue + ““);
str2 += “\““+arrayListItemKey + “\“:\““ + arrayListItemValue + “\““;
// 减少打印次数
countPrint--;
}
// 停止打印程序结束
if (countPrint == 0) {
// System.out.println();
System.out.println(“{“+str2.substring(0 str2.length() - 1)+“}“);
return;
}
}
reader.endobject();
}
reader.endArray();
System.out.println(“字典中不存在“);
}

/*
 * 超大文本解析工具类 需要 fastjson-1.2.51.jar
 */
public static void main(String[] args) {
String a = “1709804“;
String dic = readTxt(“D:\\Users\\Desktop/ss.dat“);
PhoneNumAddress.fastParseJson(dic a + “1234“);
}
}

评论

共有 条评论