该程序可以访问该文件夹并显示文件列表以供进一步使用。
Папка resources -- файл x.111.txt
|------- файл x.112.txt
|------- файл x.113.txt
|------- файл y.111.txt
如何正确编写过滤器以从列表中排除文件y.111.txt(通过“y”符号)?
主.java
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) throws IOException {
Path path = Paths.get("resources");
List<Path> paths = listFiles(path);
System.out.println(paths);
}
public static List<Path> listFiles(Path path) throws IOException {
List<Path> result;
try (Stream<Path> walk = Files.walk(path)) {
result = walk.filter(Files::isRegularFile)
.collect(Collectors.toList());
}
return result;
}
}
如果我们考虑一个简单的情况并且没有其他条件,那么在流中添加一个过滤条件