Na verdade DirectoryStream não é uma classe, mas uma interface, isto quer dizer que ela não pode ser instanciada (não dá para usarmos o operador new) e sua função é de definir os métodos que devem ser implementados por outra classe que a estende (implementa).
No nosso caso, estamos utilizando Files.newDirectoryStream é uma factory que retorna um objeto que implementa esta interface. O Java implementa três versões deste método:
- newDirectoryStream(Path):
- abre o diretório especificado e permite varrer todas as suas entradas
- o único parâmetro é um Path
- newDirectoryStream(Path, DirectoryStream.Filter<>)
- equivale ao primeiro caso, porém passamos também um filtro, que restringe a somente as entradas que passarem neste filtro.
- newDirectoryStream(Path, String)
- equivale ao segundo caso acima, porém o filtro é passado como uma String que deve possuir um formato do tipo GLOB.
Nenhum comentário:
Postar um comentário