From a1bb55e0be3d966db232941d95b7d3798e0a23de Mon Sep 17 00:00:00 2001 From: "Link.Zhao" Date: Wed, 31 Aug 2022 10:13:11 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-79341=20=E3=80=90=E8=BF=90=E8=90=A5?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E5=8C=96=E4=BA=8C=E6=9C=9F=E3=80=91=E7=AB=8B?= =?UTF-8?q?=E5=8D=B3=E4=BD=BF=E7=94=A8=E4=B8=8B=E8=BD=BD=E7=9A=84=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=90=8D=E7=A7=B0=E7=9B=AE=E5=89=8D=E6=98=AF=E5=BC=80?= =?UTF-8?q?=E5=A4=B4=E5=8A=A0=E4=BA=86=EF=BC=881=EF=BC=89=EF=BC=8C?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=8F=AF=E6=8C=89=E6=B5=8F=E8=A7=88=E5=99=A8?= =?UTF-8?q?=E8=A7=84=E5=88=99=20=E4=BF=AE=E6=94=B9=E4=BA=86=E9=87=8D?= =?UTF-8?q?=E5=90=8D=E8=A7=84=E5=88=99=20=E6=B7=BB=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/action/StartUseAction.java | 2 +- .../search/helper/FineMarketClientHelper.java | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/action/StartUseAction.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/action/StartUseAction.java index c39aa407c..330d23069 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/action/StartUseAction.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/action/StartUseAction.java @@ -60,7 +60,7 @@ public class StartUseAction implements ActionListener { } File fileNeedOpen = new File(fileName); if (fileName.endsWith(FineMarketConstants.ZIP)) { - File[] files = fileNeedOpen.listFiles(); + File[] files = fileNeedOpen.getParentFile().listFiles(); fileNeedOpen = getFirstCptOrFrm(files); } else if (fileName.endsWith(FineMarketConstants.RAR)) { // rar直接打开系统文件夹 diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/helper/FineMarketClientHelper.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/helper/FineMarketClientHelper.java index 52e7e3a80..07fd402fb 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/helper/FineMarketClientHelper.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/helper/FineMarketClientHelper.java @@ -35,6 +35,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -154,18 +155,20 @@ public class FineMarketClientHelper { * */ private File createDestFile(File destDir, TemplateResource resource) { String fileName = resource.getName(); + File finalDir = new File(StableUtils.pathJoin(FileCommonUtils.getAbsolutePath(destDir), fileName)); try { - File finalDir = new File(StableUtils.pathJoin(FileCommonUtils.getAbsolutePath(destDir), fileName)); if (!finalDir.exists()) { finalDir.mkdir(); } // 获取文件名(含后缀) fileName = resource.getFileName(); + String prefix = fileName.substring(0, fileName.length() - 4); + String suffix = fileName.substring(fileName.length() - 4); // 处理重复文件名 - String fileNameFormat = "(%d)" + fileName; - Pattern pattern = Pattern.compile("\\((\\d)\\)" + fileName); + String fileNameFormat = prefix + "(%d)" + suffix; + Pattern pattern = Pattern.compile(prefix + "\\((\\d)\\)" + suffix); int cnt = 0; File[] files = finalDir.listFiles(); @@ -178,15 +181,14 @@ public class FineMarketClientHelper { cnt++; fileName = String.format(fileNameFormat, cnt); - - File destFile = new File(StableUtils.pathJoin(FileCommonUtils.getAbsolutePath(finalDir), fileName)); - destFile.createNewFile(); return destFile; } catch (Exception e) { FineLoggerFactory.getLogger().error(e, e.getMessage()); } - return null; + fileName = UUID.randomUUID() + fileName; + File dest = new File(StableUtils.pathJoin(FileCommonUtils.getAbsolutePath(finalDir), fileName)); + return dest; } private static CloseableHttpResponse getDownloadHttpResponse(String url) throws Exception {