Lista de Arquivos Filtrados

Antonio Milesi Bastos
devexpert
Published in
2 min readMar 20, 2017

--

Continuando nossa série “Aprendendo Node.js para a mais plena vitória!” vamos ao quinto exercício do workshop.

Quando terminar esse desafio você será capaz de lidar com chamadas assíncronas em JavaScript. Além conhecer uma nova maneira de iterar em coleções.

LISTA DE ARQUIVOS FILTRADOS (Exercício 5 de 13)

Crie um programa que imprima uma lista de arquivos filtrados por suas extensões em um dado diretório. Você irá receber um nome de diretório como primeiro argumento para seu programa (por exemplo: ‘caminho/para/diretorio/’) e uma extensão de arquivo pela qual filtrar como segundo argumento.

Por exemplo, se você receber ‘txt’ como segundo argumento, então você precisará criar um filtro para que a lista contenha apenas arquivos que terminem com .txt. Note que o segundo argumento não irá vir precedido por um ‘.’ (ponto).

A lista de arquivos deve ser impressa no console, um arquivo por linha. Você precisa, obrigatoriamente, usar I/O assíncrono.

Click aqui para assistir a gravação!

DICAS

O método fs.readdir() recebe o caminho de um diretório como seu primeiro argumento e um callback como seu segundo. A assinatura do callback é:

function callback (err, list) { /* ... */ }

onde list é um array de Strings contendo nomes de arquivos.

Documentação relativa ao módulo fs pode ser encontrada apontando seu navegador para este endereço: https://nodejs.org/api/fs.html

Você também pode achar o módulo path do node muito útil, especialmente o método extname.

A documentação do módulo path pode ser encontrada apontando seu navegador para este endereço: https://nodejs.org/api/path.html

Esse é o primeiro passo para o nosso próximo post onde vamos “Fazer Isso Modular” e aprender a importar e exportar módulos em Node. Se você gostou ou tem uma sugestão de como deixar essa série melhor, deixe um comentário aqui em baixo. Grande abraço!

--

--

I have devoted my journey to uncover better ways of develop software by doing it and helping others to do so.