Sto facendo qualche ricerca su Java NIO.2 e le sue operazioni sui file, e attualmente sto giocando con le funzioni e le classi di passeggio del filetto.Perché il tipo NI.2 FileVisitor è generico?
NIO.2 FileVisitor
API è meraviglioso, è un peccato che tale cosa è stata aggiunta a Java SE solo di recente, non dieci anni fa. Tuttavia, c'è qualcosa che mi disturba leggermente: che senso ha rendere l'interfaccia FileVisitor
generica?
Ogni singolo esempio in rete mostra come utilizzarlo con Files.walkFileTree()
che implica che stiamo usando il tipo FileVisitor<Path>
. Ma non riesco a vedere alcun utilizzo per questa interfaccia per cose diverse da Path
. Bene, è possibile usare FileVisitor
per camminare su altri tipi di alberi (quelli in memoria?), Ma questo non sembra giusto: questa interfaccia e le classi correlate hanno nomi molto specifici semanticamente legati ai file, e anche I metodi di FileVisitor
lanciano IOException
s.
Quindi, c'erano dei motivi per parametrizzare il tipo FileVisitor
?
speculazione: 'FileVisitor' può anche essere utilizzabile per accedere ad altri file system, ad esempio [HDFS] (http://en.wikipedia.org/wiki/HDFS#Hadoop_Distributed_File_System). – ValarDohaeris