📄 phoneinfo.java
字号:
package com.sms.platform.switchcenter.entity;
import java.util.*;
import java.io.*;
import org.jdom.xpath.XPath;
import org.jdom.input.SAXBuilder;
import org.jdom.*;
import org.apache.log4j.Logger;
public class PhoneInfo {
private static Logger log = Logger.getLogger(PhoneInfo.class);
private String mobile;
private short operatorID;
private short provinceID;
private short cityID;
public PhoneInfo() {
}
public static void main(String[] args) {
PhoneInfo phoneinfo = new PhoneInfo();
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public void setOperatorID(short operatorID) {
this.operatorID = operatorID;
}
public void setProvinceID(short provinceID) {
this.provinceID = provinceID;
}
public void setCityID(short cityID) {
this.cityID = cityID;
}
public String getMobile() {
return mobile;
}
public short getOperatorID() {
return operatorID;
}
public short getProvinceID() {
return provinceID;
}
public short getCityID() {
return cityID;
}
public static HashMap<String, PhoneInfo> loadPhoneInfo() throws Exception {
HashMap<String, PhoneInfo> hashmap = null;
SAXBuilder builder = new SAXBuilder();
File fileXml = new File("./memory/PhoneInfo.xml");
Document doc = builder.build(fileXml);
Element root = doc.getRootElement();
XPath xpath = XPath.newInstance("//phase/descendant-or-self::*");
List list = xpath.selectNodes(root);
Iterator iter = list.iterator();
hashmap = new HashMap<String, PhoneInfo>();
PhoneInfo dr = null;
while (iter.hasNext()) {
Element item = (Element) iter.next();
if (item.getName().equalsIgnoreCase("phase")) {
dr = new PhoneInfo();
continue;
} else if (item.getName().equalsIgnoreCase("mobile")) {
dr.setMobile(item.getText());
continue;
} else if (item.getName().equalsIgnoreCase("operatorID")) {
dr.setOperatorID(Short.parseShort(item.getText()));
continue;
} else if (item.getName().equalsIgnoreCase("provinceID")) {
dr.setProvinceID(Short.parseShort(item.getText()));
continue;
} else if (item.getName().equalsIgnoreCase("cityID")) {
dr.setCityID(Short.parseShort(item.getText()));
hashmap.put(dr.getMobile(), dr);
}
}
return hashmap;
}
public static PhoneInfo getPhoneInfo(HashMap<String, PhoneInfo> hashmap,
String mobile) {
PhoneInfo pi = null;
if (mobile.startsWith("0")) {
if (hashmap.containsKey(mobile.substring(0, 4))) {
pi = hashmap.get(mobile.substring(0, 4));
} else {
pi = hashmap.get(mobile.substring(0, 3));
}
} else {
if(mobile.length() >= 7){
pi = hashmap.get(mobile.substring(0, 7));
} else {
log.debug("err mobile : " + mobile);
}
}
if (pi == null) {
int m = Integer.parseInt(mobile.substring(0,3));
if (m >= 130 && m <= 133 || m == 153 || m == 156) {
pi = new PhoneInfo();
pi.setOperatorID((short) 2);
} else if (m >= 134 && m <= 139 || m == 158 || m == 159 || m == 144) {
pi = new PhoneInfo();
pi.setOperatorID((short) 1);
} else {
pi = new PhoneInfo();
pi.setOperatorID((short) 0);
}
}
return pi;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -