文件使用
- 放在resource下面建ip文件夹中放文件ip2region.xdb
代码实现
public static String getIpPossessionByFile(String ip) {
if (StringUtils.isNotEmpty(ip)) {
try {
String XDB_PATH = "/data/ip/ip2region.xdb";
InputStream resourceAsStream = IPUtils.class.getClassLoader().getResourceAsStream("ip/ip2region.xdb");
Searcher searcher = Searcher.newWithBuffer(FileCopyUtils.copyToByteArray(resourceAsStream));
long sTime = System.nanoTime();
String region = searcher.search(ip);
long cost = TimeUnit.NANOSECONDS.toMicros(System.nanoTime() - sTime);
region = region.replace("|0", "");
log.info("{地区: {}, IO操作数: {}, 耗时: {} μs}", region, searcher.getIOCount(), cost);
return region;
} catch (Exception e) {
log.error("获取IP地址异常", e);
}
}
return "未知";
}