Идея такая:
- выявляем все критерии по которым надо отбирать и записываем в maska, например"0034" (там где 0 значит надо проверять) Первый символ в маске это partOfName, второй partOfContent и т д
- проверяем по всем критериям, и если совпало, то в maskaTest записываем 0 (там где 0 условие выполняется и критерий надо проверять)
- если обе маски равны, то добавляем файл в список.
package com.javarush.task.task31.task3111;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
/*
Продвинутый поиск файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
SearchFileVisitor searchFileVisitor = new SearchFileVisitor();
searchFileVisitor.setPartOfName("amigo");
searchFileVisitor.setPartOfContent("programmer");
searchFileVisitor.setMinSize(500);
searchFileVisitor.setMaxSize(10000);
Files.walkFileTree(Paths.get("D:/SecretFolder"), searchFileVisitor);
List<Path> foundFiles = searchFileVisitor.getFoundFiles();
for (Path file : foundFiles) {
System.out.println(file);
}
}
}