Skip to content

Commit 5a0096d

Browse files
author
Gary Gregory
committed
[IO-741] FileUtils.listFiles does not list matching files if File
parameter is a symbolic link.
1 parent 407032c commit 5a0096d

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

src/changes/changes.xml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,18 @@ The <action> type attribute can be add,update,fix,remove.
4747
<body>
4848
<release version="2.11.0" date="2021-MM-DD" description="Java 8 required.">
4949
<!-- FIX -->
50-
<action dev="ggregory" type="fix" due-to="Arturo Bernal">
51-
Minor changes #243.
50+
<action issue="IO-741" dev="ggregory" type="fix" due-to="Zach Sherman">
51+
FileUtils.listFiles does not list matching files if File parameter is a symbolic link.
5252
</action>
5353
<action issue="IO-724" dev="ggregory" type="fix" due-to="liran2000">
5454
FileUtils#deleteDirectory(File) exception Javadoc inaccurate update #245.
5555
</action>
56+
<action dev="ggregory" type="fix" due-to="Arturo Bernal">
57+
Minor changes #243.
58+
</action>
5659
<!-- ADD -->
5760
<action dev="ggregory" type="update" due-to="Gary Gregory">
58-
Add SymbolicLinkFileFilter.
61+
Add SymbolicLinkFileFilter.
5962
</action>
6063
<action dev="ggregory" type="update" due-to="trncate">
6164
Add test to make sure the setter of AndFileFilter works correctly #244.

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import java.nio.charset.StandardCharsets;
3737
import java.nio.charset.UnsupportedCharsetException;
3838
import java.nio.file.CopyOption;
39+
import java.nio.file.FileVisitOption;
3940
import java.nio.file.Files;
4041
import java.nio.file.LinkOption;
4142
import java.nio.file.NotDirectoryException;
@@ -2967,7 +2968,8 @@ public static Stream<File> streamFiles(final File directory, final boolean recur
29672968
throws IOException {
29682969
final IOFileFilter filter = extensions == null ? FileFileFilter.INSTANCE
29692970
: FileFileFilter.INSTANCE.and(new SuffixFileFilter(toSuffixes(extensions)));
2970-
return PathUtils.walk(directory.toPath(), filter, toMaxDepth(recursive), false).map(Path::toFile);
2971+
return PathUtils.walk(directory.toPath(), filter, toMaxDepth(recursive), false, FileVisitOption.FOLLOW_LINKS)
2972+
.map(Path::toFile);
29712973
}
29722974

29732975
/**

0 commit comments

Comments
 (0)