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(); }