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; } }