From e7d5faeeace7834c7449afc16b2e59fe8aebc3c7 Mon Sep 17 00:00:00 2001 From: Haowei Wen Date: Mon, 12 Jul 2021 13:19:16 +0800 Subject: [PATCH] fix: DirectoryStream not closed https://github.com/huanghongxun/HMCL/commit/dc3167472175d023878f9ae32230b93964588bc1#r53347194 --- .../hmcl/download/java/JavaRepository.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/java/JavaRepository.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/java/JavaRepository.java index 146cf8e14..f684c939d 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/java/JavaRepository.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/java/JavaRepository.java @@ -9,6 +9,7 @@ import org.jackhuang.hmcl.util.platform.JavaVersion; import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.io.IOException; +import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; import java.util.Optional; @@ -45,12 +46,14 @@ public final class JavaRepository { String platform = platformOptional.get(); Path javaStoragePath = getJavaStoragePath(); if (Files.isDirectory(javaStoragePath)) { - for (Path component : Files.newDirectoryStream(javaStoragePath)) { - Path javaHome = component.resolve(platform).resolve(component.getFileName()); - try { - addJava(javaHome); - } catch (IOException e) { - LOG.log(Level.WARNING, "Failed to determine Java at " + javaHome, e); + try (DirectoryStream dirStream = Files.newDirectoryStream(javaStoragePath)) { + for (Path component : dirStream) { + Path javaHome = component.resolve(platform).resolve(component.getFileName()); + try { + addJava(javaHome); + } catch (IOException e) { + LOG.log(Level.WARNING, "Failed to determine Java at " + javaHome, e); + } } } }