Skip to content

Commit 2c35eaa

Browse files
committed
[IO-811] FileUtils.iterateFiles(File, String[], boolean) fails to close
its internal Stream Different version of solution from PR #489 by Adam Rauch
1 parent 5fe1506 commit 2c35eaa

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

src/changes/changes.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ The <action> type attribute can be add,update,fix,remove.
6060
<action dev="ggregory" type="fix" issue="IO-811" due-to="Adam Rauch, Gary Gregory">
6161
FileUtils.listFiles(File, String[], boolean) fails to close its internal Stream.
6262
</action>
63+
<action dev="ggregory" type="fix" issue="IO-811" due-to="Adam Rauch, Gary Gregory">
64+
FileUtils.iterateFiles(File, String[], boolean) fails to close its internal Stream.
65+
</action>
6366
</release>
6467
<release version="2.14.0" date="2023-09-24" description="Java 8 is required.">
6568
<!-- FIX -->

src/main/java/org/apache/commons/io/FileUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1996,7 +1996,7 @@ public static Iterator<File> iterateFiles(final File directory, final IOFileFilt
19961996
* @since 1.2
19971997
*/
19981998
public static Iterator<File> iterateFiles(final File directory, final String[] extensions, final boolean recursive) {
1999-
return Uncheck.apply(d -> streamFiles(d, recursive, extensions).iterator(), directory);
1999+
return StreamIterator.iterator(Uncheck.get(() -> streamFiles(directory, recursive, extensions)));
20002000
}
20012001

20022002
/**

0 commit comments

Comments
 (0)