Skip to content

Commit 36515d0

Browse files
authored
Merge pull request #365 from lujiefsi/JRTExtractor
resource leak due to Files.walk
2 parents 24ec59b + 67fd114 commit 36515d0

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/main/java/the/bytecode/club/bytecodeviewer/util/JRTExtractor.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,21 @@
1818
import java.nio.file.FileSystem;
1919
import java.nio.file.FileSystems;
2020
import java.nio.file.Files;
21+
import java.nio.file.Path;
2122
import java.nio.file.Paths;
2223
import java.util.ArrayList;
2324
import java.util.List;
25+
import java.util.stream.Stream;
2426
import java.util.zip.ZipEntry;
2527
import java.util.zip.ZipOutputStream;
2628

2729
public class JRTExtractor {
2830
public static void extractRT(String path) throws Throwable {
2931
FileSystem fs = FileSystems.getFileSystem(URI.create("jrt:/"));
3032

31-
try (ZipOutputStream zipStream = new ZipOutputStream(Files.newOutputStream(Paths.get(path)))) {
32-
Files.walk(fs.getPath("/")).forEach(p -> {
33+
try (ZipOutputStream zipStream = new ZipOutputStream(Files.newOutputStream(Paths.get(path)));
34+
Stream<Path> stream = Files.walk(fs.getPath("/"))) {
35+
stream.forEach(p -> {
3336
if (!Files.isRegularFile(p)) {
3437
return;
3538
}
@@ -59,4 +62,4 @@ public static void extractRT(String path) throws Throwable {
5962
});
6063
}
6164
}
62-
}
65+
}

0 commit comments

Comments
 (0)