Народ подскажите что возвращает этот метод, я понял что вызывает метод супер класса, а что именно там происходит, когда читал про этот класс в интернетах: "Завершают работу все вышеописанные методы, возвращая «результаты посещения» (FileVisitResult) объекта, которые принадлежат enum множеству и могут принимать следующие значения:
CONTINUE — продолжает обход дерева;
TERMINATE — заканчивает обход дерева;
SKIP_SUBTREE — продолжает обход, без захода в данную директорию;
SKIP_SIBLINGS — исключает из обхода «родственников» данного файла или директории;"
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
byte[] content = Files.readAllBytes(file); // размер файла: content.length
boolean containsName = true;
if (partOfName != null && !file.getFileName().toString().contains(partOfName))
containsName = false;
String stringContent = new String(Files.readAllBytes(file));
boolean containsContent = true;
if (partOfContent != null && !stringContent.contains(partOfContent))
containsContent = false;
boolean minSizeYes = true;
if (minSize>content.length)
minSizeYes = false;
boolean maxSizeYes = true;
if (maxSize<content.length&&maxSize!=0)
maxSizeYes = false;
if (containsName && containsContent && minSizeYes && maxSizeYes)
foundFiles.add(file);
return super.visitFile(file, attrs);
Veryprosto
35 уровень
Задачу решил, но есть недопонимание!
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia Volkova Java Developer в DXC Master
30 ноября 2019, 08:22решение
'"Завершают работу все вышеописанные методы, возвращая «результаты посещения» (FileVisitResult) объекта, которые принадлежат enum множеству и могут принимать следующие значения"
Так и есть, возвращается одно из значений этого енума.
Это значение определяет, что должен делать FileVisitor дальше. Например, ты ищешь какой-то конкретный файл и хочешь, чтобы как только он найдется, обход файлов завершался. Значит, пишешь в методе, что если файл соответствует твоему условию - вернуть TERMINATE, иначе - CONTINUE.
+2