in toolchains/DumpPlatformClassPath.java [156:178]
private static void writeClassPathJars(Path output, Collection<Path> paths) throws IOException {
List<JarFile> jars = new ArrayList<>();
for (Path path : paths) {
jars.add(new JarFile(path.toFile()));
}
SortedMap<String, InputStream> entries = new TreeMap<>();
for (JarFile jar : jars) {
jar.stream()
.filter(p -> p.getName().endsWith(".class"))
.forEachOrdered(
entry -> {
try {
entries.put(entry.getName(), jar.getInputStream(entry));
} catch (IOException e) {
throw new UncheckedIOException(e);
}
});
}
writeEntries(output, entries);
for (JarFile jar : jars) {
jar.close();
}
}