我有这个例子代码:
String myGlobFilter = /*whatever*/; DirectoryStream<Path> stream = Files.newDirectoryStream(myPathToLookIn, myGlobFilter);
有没有可能仅仅通过改变myGlobFilter就可以使流包含目录?myGlobFilter看起来会是什么样子?我试过*/,但是它仍然包含文件。
myGlobFilter
*/
ilmyapht1#
Glob模式不区分目录和非目录路径。如果你只想得到目录,你可以使用newDirectoryStream和a DirectoryStream.Filter,如下所示:
newDirectoryStream
DirectoryStream.Filter
DirectoryStream<Path> directories = Files.newDirectoryStream(myPathToLookIn, p -> Files.isDirectory(p, LinkOption.NOFOLLOW_LINKS);
m1m5dgzv2#
我怀疑使用globbing模式是否可行,但使用Files.newDirectoryStream()的另一个重载版本(期望DirectoryStream.Filter作为第二个参数)肯定可以做到:
Files.newDirectoryStream()
Path myPathToLookIn = // path DirectoryStream.Filter<Path> filter = Files::isDirectory; DirectoryStream<Path> stream = Files.newDirectoryStream(myPathToLookIn, filter);
2条答案
按热度按时间ilmyapht1#
Glob模式不区分目录和非目录路径。
如果你只想得到目录,你可以使用
newDirectoryStream
和aDirectoryStream.Filter
,如下所示:m1m5dgzv2#
我怀疑使用globbing模式是否可行,但使用
Files.newDirectoryStream()
的另一个重载版本(期望DirectoryStream.Filter
作为第二个参数)肯定可以做到: