From 5af47bf4602f3706b1560a8100722659d77c54b6 Mon Sep 17 00:00:00 2001 From: JFronny <33260128+jfronny@users.noreply.github.com> Date: Thu, 4 Mar 2021 14:59:41 +0100 Subject: [PATCH] Introduce some try-with-resource blocks in an attempt to fix windows --- .../jfronny/resclone/io/RemoveDirVisitor.java | 3 +-- .../resclone/processors/PruneVanillaProcessor.java | 5 +++-- .../resclone/processors/RemoveEmptyProcessor.java | 6 ++++-- .../resclone/processors/RootPathProcessor.java | 13 ++++++------- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/java/io/gitlab/jfronny/resclone/io/RemoveDirVisitor.java b/src/main/java/io/gitlab/jfronny/resclone/io/RemoveDirVisitor.java index b167aa9..eb042dc 100644 --- a/src/main/java/io/gitlab/jfronny/resclone/io/RemoveDirVisitor.java +++ b/src/main/java/io/gitlab/jfronny/resclone/io/RemoveDirVisitor.java @@ -6,8 +6,7 @@ import java.nio.file.attribute.BasicFileAttributes; public class RemoveDirVisitor extends SimpleFileVisitor { @Override - public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException - { + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { Files.delete(file); return FileVisitResult.CONTINUE; } diff --git a/src/main/java/io/gitlab/jfronny/resclone/processors/PruneVanillaProcessor.java b/src/main/java/io/gitlab/jfronny/resclone/processors/PruneVanillaProcessor.java index 975683c..c55b3ee 100644 --- a/src/main/java/io/gitlab/jfronny/resclone/processors/PruneVanillaProcessor.java +++ b/src/main/java/io/gitlab/jfronny/resclone/processors/PruneVanillaProcessor.java @@ -28,8 +28,9 @@ public class PruneVanillaProcessor extends PackProcessor { try { InputStream vn = cl.getResourceAsStream(p.getPath("/").relativize(s).toString()); if (vn != null) { - InputStream pk = Files.newInputStream(s, StandardOpenOption.READ); - return IOUtils.contentEquals(vn, pk); + try (InputStream pk = Files.newInputStream(s, StandardOpenOption.READ)) { + return IOUtils.contentEquals(vn, pk); + } } } catch (Throwable e) { diff --git a/src/main/java/io/gitlab/jfronny/resclone/processors/RemoveEmptyProcessor.java b/src/main/java/io/gitlab/jfronny/resclone/processors/RemoveEmptyProcessor.java index aacd7fc..c0351e6 100644 --- a/src/main/java/io/gitlab/jfronny/resclone/processors/RemoveEmptyProcessor.java +++ b/src/main/java/io/gitlab/jfronny/resclone/processors/RemoveEmptyProcessor.java @@ -4,8 +4,10 @@ import io.gitlab.jfronny.resclone.data.RescloneException; import io.gitlab.jfronny.resclone.io.PathPruneVisitor; import java.io.IOException; +import java.nio.file.DirectoryStream; import java.nio.file.FileSystem; import java.nio.file.Files; +import java.nio.file.Path; public class RemoveEmptyProcessor extends PackProcessor { @Override @@ -14,8 +16,8 @@ public class RemoveEmptyProcessor extends PackProcessor { try { Files.walkFileTree(p.getPath("/assets"), new PathPruneVisitor(s -> { if (Files.isDirectory(s)) { - try { - return !Files.newDirectoryStream(s).iterator().hasNext(); + try (DirectoryStream paths = Files.newDirectoryStream(s)) { + return !paths.iterator().hasNext(); } catch (IOException e) { e.printStackTrace(); } diff --git a/src/main/java/io/gitlab/jfronny/resclone/processors/RootPathProcessor.java b/src/main/java/io/gitlab/jfronny/resclone/processors/RootPathProcessor.java index b1046c4..a1b56fc 100644 --- a/src/main/java/io/gitlab/jfronny/resclone/processors/RootPathProcessor.java +++ b/src/main/java/io/gitlab/jfronny/resclone/processors/RootPathProcessor.java @@ -4,10 +4,7 @@ import io.gitlab.jfronny.resclone.io.MoveDirVisitor; import io.gitlab.jfronny.resclone.data.RescloneException; import java.io.IOException; -import java.nio.file.FileSystem; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.StandardCopyOption; +import java.nio.file.*; public class RootPathProcessor extends PackProcessor { @Override @@ -15,9 +12,11 @@ public class RootPathProcessor extends PackProcessor { if (!Files.exists(p.getPath("/pack.mcmeta"))) { try { Path root = p.getPath("/"); - for (Path path : Files.newDirectoryStream(root)) { - if (Files.isDirectory(path) && Files.exists(path.resolve("pack.mcmeta"))) { - Files.walkFileTree(path, new MoveDirVisitor(path, root, StandardCopyOption.REPLACE_EXISTING)); + try (DirectoryStream paths = Files.newDirectoryStream(root)) { + for (Path path : paths) { + if (Files.isDirectory(path) && Files.exists(path.resolve("pack.mcmeta"))) { + Files.walkFileTree(path, new MoveDirVisitor(path, root, StandardCopyOption.REPLACE_EXISTING)); + } } } } catch (IOException e) {