sexta-feira, 22 de março de 2013

Ler o conteudo de um diretório utilizando DirectoryStream

Vamos ver mais uma classe de Java NIO - DirectoryStream.

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.
Vamos a nossa classe:

Nenhum comentário:

Postar um comentário