@@ -2380,9 +2380,10 @@ public static Collection<File> listFiles(final File directory, final IOFileFilte
23802380 * @param files The list to add found Files, not null.
23812381 * @param recursive Whether or not to recurse into subdirectories.
23822382 * @param filter How to filter files, not null.
2383+ * @return The given list.
23832384 */
23842385 @ SuppressWarnings ("null" )
2385- private static void listFiles (final File directory , final List <File > files , final boolean recursive , final FilenameFilter filter ) {
2386+ private static List < File > listFiles (final File directory , final List <File > files , final boolean recursive , final FilenameFilter filter ) {
23862387 final File [] listFiles = directory .listFiles ();
23872388 if (listFiles != null ) {
23882389 // Only allocate if you must.
@@ -2398,6 +2399,7 @@ private static void listFiles(final File directory, final List<File> files, fina
23982399 dirs .forEach (d -> listFiles (d , files , true , filter ));
23992400 }
24002401 }
2402+ return files ;
24012403 }
24022404
24032405 /**
@@ -2411,11 +2413,7 @@ private static void listFiles(final File directory, final List<File> files, fina
24112413 * @return a collection of {@link File} with the matching files.
24122414 */
24132415 public static Collection <File > listFiles (final File directory , final String [] extensions , final boolean recursive ) {
2414- // IO-856: Don't use NIO to path walk, allocate as little as possible while traversing.
2415- final List <File > files = new ArrayList <>();
2416- final FilenameFilter filter = extensions != null ? toSuffixFileFilter (extensions ) : TrueFileFilter .INSTANCE ;
2417- listFiles (directory , files , recursive , filter );
2418- return files ;
2416+ return listFiles (directory , new ArrayList <>(), recursive , extensions != null ? toSuffixFileFilter (extensions ) : TrueFileFilter .INSTANCE );
24192417 }
24202418
24212419 /**
0 commit comments