From a391ed05e072307faecad792e79e0ddc3a240402 Mon Sep 17 00:00:00 2001 From: kb <769801958@qq.com> Date: Sun, 20 Aug 2023 01:01:07 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E8=B5=84=E6=BA=90=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/manager/ShortcutKey.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/controller/manager/ShortcutKey.java b/src/main/java/org/jcnc/jnotepad/controller/manager/ShortcutKey.java index 1b44ea5..6c9fd6b 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/manager/ShortcutKey.java +++ b/src/main/java/org/jcnc/jnotepad/controller/manager/ShortcutKey.java @@ -9,7 +9,8 @@ import org.jcnc.jnotepad.Interface.ShortcutKeyInterface; import org.jcnc.jnotepad.tool.FileUtil; import org.jcnc.jnotepad.view.manager.ViewManager; -import java.io.File; +import java.io.*; +import java.net.URL; import java.util.Map; import java.util.Objects; @@ -20,14 +21,21 @@ import java.util.Objects; public class ShortcutKey implements ShortcutKeyInterface { @Override public void createShortcutKeyByConfig() { - String json = "src/main/resources/config/shortcutKey.json"; - File jsonFile = new File(json); - // 读取json文件 - String jsonData = FileUtil.getJsonStr(jsonFile); + + InputStream inputStream = getClass().getResourceAsStream("/config/shortcutKey.json"); + StringBuffer jsonData = new StringBuffer(); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { + String line; + while ((line = reader.readLine()) != null) { + jsonData.append(line); + } + } catch (IOException e) { + e.printStackTrace(); + } // 转json对象 GsonBuilder gsonBuilder = new GsonBuilder(); Gson gson = gsonBuilder.create(); - Map shortcutKeyConfig = gson.fromJson(jsonData, new TypeToken>() { + Map shortcutKeyConfig = gson.fromJson(jsonData.toString(), new TypeToken>() { }.getType()); for (Map.Entry stringObjectEntry : shortcutKeyConfig.entrySet()) { // 保证json的key必须和变量名一致 -- Gitee From 877976f1d76eea3d52bdd8d4bee19eeee8f65a16 Mon Sep 17 00:00:00 2001 From: kb <769801958@qq.com> Date: Sun, 20 Aug 2023 01:22:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E5=AF=BC=E5=85=A5=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/manager/ShortcutKey.java | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/controller/manager/ShortcutKey.java b/src/main/java/org/jcnc/jnotepad/controller/manager/ShortcutKey.java index 6c9fd6b..d6a7874 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/manager/ShortcutKey.java +++ b/src/main/java/org/jcnc/jnotepad/controller/manager/ShortcutKey.java @@ -21,17 +21,32 @@ import java.util.Objects; public class ShortcutKey implements ShortcutKeyInterface { @Override public void createShortcutKeyByConfig() { - + String rootPath =System.getProperty("user.dir"); + // 构建JSON文件路径 + String jsonFilePath = rootPath +"/config/shortcutKey.json"; InputStream inputStream = getClass().getResourceAsStream("/config/shortcutKey.json"); StringBuffer jsonData = new StringBuffer(); - try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { - String line; - while ((line = reader.readLine()) != null) { - jsonData.append(line); + File file = new File(jsonFilePath); + if(file.exists()){ + try (BufferedReader reader = new BufferedReader(new FileReader(file))) { + String line; + while ((line = reader.readLine()) != null) { + jsonData.append(line); + } + } catch (IOException e) { + e.printStackTrace(); + } + }else { + try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { + String line; + while ((line = reader.readLine()) != null) { + jsonData.append(line); + } + } catch (IOException e) { + e.printStackTrace(); } - } catch (IOException e) { - e.printStackTrace(); } + // 转json对象 GsonBuilder gsonBuilder = new GsonBuilder(); Gson gson = gsonBuilder.create(); -- Gitee