From 7c5193a93dbacd951d5f41dfc3629b71529ad503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E4=BC=9F=E5=8D=8E?= Date: Thu, 5 Dec 2019 10:26:03 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8Dip2region=20=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E8=87=AA=E5=8A=A8=E5=85=B3=E9=97=AD=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/me/zhengjie/utils/StringUtils.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java index 277e3dca..4934a496 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java @@ -8,6 +8,7 @@ import org.lionsoul.ip2region.DbConfig; import org.lionsoul.ip2region.DbSearcher; import javax.servlet.http.HttpServletRequest; import java.io.File; +import java.io.IOException; import java.lang.reflect.Method; import java.net.InetAddress; import java.net.UnknownHostException; @@ -143,12 +144,13 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { * 根据ip获取详细地址 */ public static String getCityInfo(String ip) { + DbSearcher searcher = null; try { String path = "ip2region/ip2region.db"; String name = "ip2region.db"; DbConfig config = new DbConfig(); File file = FileUtil.inputStreamToFile(new ClassPathResource(path).getStream(), name); - DbSearcher searcher = new DbSearcher(config, file.getPath()); + searcher = new DbSearcher(config, file.getPath()); Method method; method = searcher.getClass().getMethod("btreeSearch", String.class); DataBlock dataBlock; @@ -161,6 +163,14 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { return address.equals(ElAdminConstant.REGION)?"内网IP":address; } catch (Exception e) { e.printStackTrace(); + }finally { + if(searcher!=null){ + try { + searcher.close(); + } catch (IOException ignored) { + } + } + } return ""; } @@ -185,4 +195,4 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { } return weekDays[w]; } -} \ No newline at end of file +}