From 015876b7902ab9b95cc7195b5897869d9dd1a9d0 Mon Sep 17 00:00:00 2001 From: Skylot <118523+skylot@users.noreply.github.com> Date: Sat, 10 Aug 2024 00:31:25 +0100 Subject: [PATCH] fix(gui): trim trailing spaces in input files (#2244) --- .../main/java/jadx/core/utils/files/FileUtils.java | 12 ++++++++++++ .../jadx/gui/ui/filedialog/CustomFileChooser.java | 4 ++-- .../jadx/gui/ui/filedialog/CustomFileDialog.java | 4 ++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java b/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java index b2ee442b3..53008c591 100644 --- a/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java +++ b/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java @@ -343,6 +343,18 @@ public class FileUtils { return Stream.of(files).map(File::toPath).collect(Collectors.toList()); } + public static List toPathsWithTrim(File[] files) { + return Stream.of(files).map(FileUtils::toPathWithTrim).collect(Collectors.toList()); + } + + public static Path toPathWithTrim(File file) { + return Path.of(file.getPath().stripTrailing()); + } + + public static Path toPathWithTrim(String file) { + return Path.of(file.stripTrailing()); + } + public static List fileNamesToPaths(List fileNames) { return fileNames.stream().map(Paths::get).collect(Collectors.toList()); } diff --git a/jadx-gui/src/main/java/jadx/gui/ui/filedialog/CustomFileChooser.java b/jadx-gui/src/main/java/jadx/gui/ui/filedialog/CustomFileChooser.java index 29e915976..b5fc19cd9 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/filedialog/CustomFileChooser.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/filedialog/CustomFileChooser.java @@ -56,11 +56,11 @@ class CustomFileChooser extends JFileChooser { data.setCurrentDir(getCurrentDirectory().toPath()); File[] selectedFiles = getSelectedFiles(); if (selectedFiles.length != 0) { - return FileUtils.toPaths(selectedFiles); + return FileUtils.toPathsWithTrim(selectedFiles); } File chosenFile = getSelectedFile(); if (chosenFile != null) { - return Collections.singletonList(chosenFile.toPath()); + return Collections.singletonList(FileUtils.toPathWithTrim(chosenFile)); } return Collections.emptyList(); } diff --git a/jadx-gui/src/main/java/jadx/gui/ui/filedialog/CustomFileDialog.java b/jadx-gui/src/main/java/jadx/gui/ui/filedialog/CustomFileDialog.java index e830e6417..c5c0f9dae 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/filedialog/CustomFileDialog.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/filedialog/CustomFileDialog.java @@ -37,10 +37,10 @@ class CustomFileDialog { File[] selectedFiles = fileDialog.getFiles(); if (!Utils.isEmpty(selectedFiles)) { data.setCurrentDir(Paths.get(fileDialog.getDirectory())); - return FileUtils.toPaths(selectedFiles); + return FileUtils.toPathsWithTrim(selectedFiles); } if (fileDialog.getFile() != null) { - return Collections.singletonList(Paths.get(fileDialog.getFile())); + return Collections.singletonList(FileUtils.toPathWithTrim(fileDialog.getFile())); } return Collections.emptyList(); }