From c3a768581480c1c800e39cea941eee228bc3127a Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 25 十一月 2022 15:02:15 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/helper/ZipHelper.java | 27 +++++++++++++++++++++------ src/main/java/com/lf/server/helper/GdbHelper.java | 15 ++++++++------- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/lf/server/helper/GdbHelper.java b/src/main/java/com/lf/server/helper/GdbHelper.java index 6398ea7..11a27f9 100644 --- a/src/main/java/com/lf/server/helper/GdbHelper.java +++ b/src/main/java/com/lf/server/helper/GdbHelper.java @@ -127,7 +127,7 @@ */ private static Field getGeomField(Class clazz) { try { - Field gField = clazz.getDeclaredField("geom"); + Field gField = clazz.getSuperclass().getDeclaredField("geom"); gField.setAccessible(true); return gField; @@ -229,10 +229,10 @@ * wkbLinearRing = 101 */ private static <T> void setGeom(T t, Feature f, Field gField) throws Exception { - Geometry geometry = f.GetGeometryRef(); - if (null != geometry) { - String wkt = geometry.ExportToWkt(); - switch (geometry.GetGeometryType()) { + String geo = "null"; + if (null != f.GetGeometryRef()) { + String wkt = f.GetGeometryRef().ExportToWkt(); + switch (f.GetGeometryRef().GetGeometryType()) { case 2: wkt = wkt.replace("LINESTRING (", "MULTILINESTRING ((") + ")"; break; @@ -242,9 +242,10 @@ default: break; } - - gField.set(t, String.format("ST_GeomFromText('%s')", wkt)); + geo = String.format("ST_GeomFromText('%s')", wkt); } + + gField.set(t, geo); } /** diff --git a/src/main/java/com/lf/server/helper/ZipHelper.java b/src/main/java/com/lf/server/helper/ZipHelper.java index 8416af1..3f1f8fa 100644 --- a/src/main/java/com/lf/server/helper/ZipHelper.java +++ b/src/main/java/com/lf/server/helper/ZipHelper.java @@ -28,11 +28,12 @@ * @return 鎴愬姛鏄�/鍚� */ public static boolean unzip(String filePath, String zipDir) { + ZipFile zipFile = null; try { int count; - ZipFile zipfile = new ZipFile(filePath); + zipFile = new ZipFile(filePath); - Enumeration e = zipfile.entries(); + Enumeration e = zipFile.entries(); while (e.hasMoreElements()) { ZipEntry entry = (ZipEntry) e.nextElement(); if (entry.isDirectory()) { @@ -43,15 +44,17 @@ continue; } - BufferedInputStream is = new BufferedInputStream(zipfile.getInputStream(entry)); + BufferedInputStream is = new BufferedInputStream(zipFile.getInputStream(entry)); FileOutputStream fos = new FileOutputStream(zipDir + File.separator + entry.getName()); BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER_SIZE); while ((count = is.read(BUFFER, 0, BUFFER_SIZE)) != -1) { dest.write(BUFFER, 0, count); } + dest.flush(); dest.close(); + fos.close(); is.close(); } @@ -59,6 +62,14 @@ } catch (Exception ex) { log.error(ex.getMessage(), ex); return false; + } finally { + try { + if (null != zipFile) { + zipFile.close(); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } } } @@ -70,10 +81,11 @@ * @return 鎴愬姛鏄�/鍚� */ public static boolean zip(String zipFile, String sourceDir) { + FileOutputStream fos = null; ZipOutputStream zos = null; try { - FileOutputStream fileOutputStream = new FileOutputStream(zipFile); - zos = new ZipOutputStream(fileOutputStream); + fos = new FileOutputStream(zipFile); + zos = new ZipOutputStream(fos); File sourceFile = new File(sourceDir); compress(sourceFile, zos, sourceFile.getName()); @@ -84,9 +96,12 @@ return false; } finally { try { - if (zos != null) { + if (null != zos) { zos.close(); } + if (null != fos) { + fos.close(); + } } catch (Exception e) { log.error(e.getMessage(), e); } -- Gitblit v1.9.3