package cn.idchecker.addrs;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import cn.idchecker.test.TimeUtil;
/**
* 地址码读取类
* @author rongxinhua
*
*/
public class DicReader {
/**
* 读取地址码
* @param addrNum
* @return 若存在,则返回该地址码对应的地址名称,若不存在,返回null
*/
public static String readAddress(String addrNum) {
char first = addrNum.charAt(0);
if(first == '1' || first == '2' || first == '3' || first == '4' || first == '5' || first == '6'){
String filePath = first + ".dic";
String addr = readAddress(filePath, "UTF-8", addrNum);
return addr;
}
return null;
}
/**
* 读取地址码是否存在
* @param filePath 文件路径
* @param charset 文件编码
* @param addrNum 地址码,6位数字
* @return 存在返回地址名称,否则返回null
*/
public static String readAddress(String filePath, String charset, String addrNum){
String addr = null;
try {
InputStream is = DicReader.class.getResourceAsStream(filePath);
BufferedReader buffReader = new BufferedReader(new InputStreamReader(is,charset));
String line;
while((line = buffReader.readLine()) != null){
if(addrNum.equals(line.substring(0,6))) {
addr = line.substring(7, line.length());
break;
}
}
buffReader.close();
} catch (FileNotFoundException e) {
System.err.println("找到不地址码文件");
e.printStackTrace();
} catch (IOException e) {
System.err.println("读取地址码文件失败");
e.printStackTrace();
}
return addr;
}
}