diff --git a/core/src/main/java/io/github/datromtool/io/spec/implementations/RarArchiveSourceSpec.java b/core/src/main/java/io/github/datromtool/io/spec/implementations/RarArchiveSourceSpec.java index 64791e3..a79a3ed 100644 --- a/core/src/main/java/io/github/datromtool/io/spec/implementations/RarArchiveSourceSpec.java +++ b/core/src/main/java/io/github/datromtool/io/spec/implementations/RarArchiveSourceSpec.java @@ -71,12 +71,12 @@ public ArchiveSourceInternalSpec getNextInternalSpec() throws IOException { } } } else { - if (namesIterator == null) { - namesIterator = names.iterator(); - } if (fileHeaders == null) { fileHeaders = archive.getFileHeaders(); } + if (namesIterator == null) { + namesIterator = names.iterator(); + } if (namesIterator.hasNext()) { String name = namesIterator.next(); return getValidFileHeader(name); @@ -111,6 +111,7 @@ private boolean isFile(FileHeader fileHeader) { @Override public void close() throws IOException { + fileHeaders = null; namesIterator = null; if (archive != null) { archive.close();