匹配传入文件夹中的文件的正则表达式



我有一个文件列表:

a/b/c a/b/c.data a/b/c/d a/b/c/d.data

当我传入文件夹路径a/b/时,我想返回该文件夹中的文件字符串列表。在这种情况下,应返回a/b/ca/b/c.data。我已经尝试过(a/b/).+(?!/)String.matches(<regex>)为他们回报了true

PS:文件名不以/结尾。

尝试使用 Files.walk

Files
.walk(Paths.get("YOUR_PATH"))
.forEach(System.out::println);

如果您只需要文件,那么您可以这样做:

Files
.walk(Paths.get("YOUR_PATH"))
.map(Path::toFile)             // convert Paths to Files
.filter(File::isFile)          // filter to remove directories
.map(File::toString)           // convert files to Strings
.collect(Collectors.toList()); // to return a list of Strings

最新更新