Не правильно работает поиск файлов по маске через RegEx
Делаю поиск файлов по заданной маске .Задал в аргументах метода main следующие аргументы - C:\projects\job4j_design\data t.+?p mask C:\projects\job4j_design\data\results.zip 1 - откуда начинать поиск 2 - маска 3- тип поиска 4 куда записать результат Не правильно работает поиск добавляются все файлы хотя нужны файлы типа temp
private static List<Path> list = new ArrayList<>();
public static void main(String[] args) throws IOException {
if (!validKey(args)) {
throw new IllegalArgumentException("Please check and enter valid arguments");
}
SearchFiles searchFiles = typeOfFind(args);
Files.walkFileTree(Paths.get(getArgument(args, 0)), searchFiles);
list = searchFiles.getList();
recordInTheFIle(searchFiles, args);
File destination = new File(getArgument(args, 3));
createZipFile(destination);
}
private static SearchFiles typeOfFind(String[] array) {
if (getArgument(array, 2).equals("name")) {
SearchFiles searcher = new SearchFiles(x -> x.endsWith(getArgument(array, 1)));
return searcher;
}
if (getArgument(array, 2).equals("mask")) {
Pattern pattern = Pattern.compile(getArgument(array, 1));
//Matcher matcher = pattern.matcher();
SearchFiles searcher = new SearchFiles(x -> pattern.matcher(x.toString()).find());
return searcher;
}
return null;
}
public class SearchFiles extends SimpleFileVisitor<Path> {
private List<Path> list = new ArrayList<>();
private Predicate<Path> predicate;
public SearchFiles(Predicate<Path> predicate) {
this.predicate = predicate;
}
public List<Path> getList() {
return list;
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if (predicate.test(file)) {
list.add(file);
}
return FileVisitResult.CONTINUE;
}
}