Я занимаюсь некоторыми исследованиями на Java NIO.2 и его файловыми операциями, и в настоящее время я играю с функциями и классами, управляющими файлами.
NIO.2 FileVisitor
API замечательный, стыдно, что такая вещь была добавлена в Java SE только недавно, а не десять лет назад. Однако есть что-то, что меня немного беспокоит: в чем смысл создания FileVisitor
интерфейса generic?
Каждый пример в сети показывает, как использовать его с Files.walkFileTree()
, что подразумевает, что мы используем тип FileVisitor<Path>
. Но я просто не вижу никакого использования для этого интерфейса для других вещей, кроме Path
. Может быть, можно использовать FileVisitor
для того, чтобы ходить по другим видам деревьев (в памяти?), Но это просто не очень хорошо: этот интерфейс и связанные классы имеют очень специфические имена, семантически привязанные к файлам, а также FileVisitor
методы throw IOException
s.
Итак, были ли причины для параметризации FileVisitor
типа?