@Slf4j
public class AdocUtil {
private static final Map<String, Province> PROVINCE_MAP = new HashMap<>(32);
private static final Map<String, City> CITY_MAP = new HashMap<>(512);
private static final Map<String, Area> AREA_MAP = new HashMap<>(4096);
private static final String DONT_KNOW = "未知";
private static final int AREA_CODE_LENGTH = 6;
private AdocUtil() {
}
public static void init() {
long start = System.currentTimeMillis();
try {
List<Province> provinceList = CsvUtil.getReader().read(
ResourceUtil.getUtf8Reader("provinces.csv"), Province.class);
provinceList.forEach(province -> PROVINCE_MAP.put(province.getCode(), province));
List<City> cityList = CsvUtil.getReader().read(
ResourceUtil.getUtf8Reader("cities.csv"), City.class);
cityList.forEach(city -> CITY_MAP.put(city.getCode(), city));
List<Area> areaList = CsvUtil.getReader().read(
ResourceUtil.getUtf8Reader("areas.csv"), Area.class);
areaList.forEach(area -> AREA_MAP.put(area.getCode(), area));
} catch (Exception e) {
throw new RuntimeException(e);
}
log.info("init success, cost:{}ms", System.currentTimeMillis() - start);
}
}