如何在不使用循环的情况下获取DirectoryStream的第一个值

时间:2017-01-31 09:02:12

标签: java stream nio

DirectoryStream<Path> stream = Files.newDirectoryStream( DirectoryPath, ".txt" );

我有一个目录流,其中包含指定目录路径中找到的所有文本文件。如何在不使用循环的情况下检索此流的第一个值?

1 个答案:

答案 0 :(得分:2)

仅返回找到的第一个条目:

Files.newDirectoryStream( DirectoryPath, ".txt" ).iterator().next()

您可能还想在调用next()之前检查是否至少有一个文件:

Iterator<Path> textFileIterator = Files.newDirectoryStream( DirectoryPath, ".txt" ).iterator();
if (textFileIterator.hasNext()) {
  Path firstFoundTextFile = textFileIterator.next();
}