Como obter os detalhes de um arquivo usando Node.js
Todo arquivo vem com um conjunto de detalhes que nós podemos inspecionar usando Node.js.
Em particular, usando o método stat()
do módulo fs
.
Você o chama passando o caminho do arquivo, e uma vez que o Node.js obtenha os detalhes do arquivo ele chamará a função callback que você passar, com 2 parâmetros: uma mensagem de erro, e os detalhes do arquivo.
const fs = require('fs')fs.stat('/Users/pauloluan/test.txt', (err, stats) => {if (err) {console.error(err)return}// nós temos acesso aos detalhes do arquivo no `stats`})
O Node.js também fornece um método síncrono, que bloqueia a thread até que os detalhes do arquivo estejam prontos:
const fs = require('fs')try {const stats = fs.statSync('/Users/pauloluan/test.txt')} catch (err) {console.error(err)}
As informações do arquivo estão inclusas na variável stats. Que tipos de informações nós podemos extrair usando o stats?
Muitas, incluindo:
- se o arquivo é um diretório ou um arquivo, usando
stats.isFile()
estats.isDirectory()
- se o arquivo é um link simbólico, usando
stats.isSymbolicLink()
- o tamanho do arquivo, usando
stats.size
.
Há outros métodos avançados, mas a maior parte do que você vai usar na programação do dia a dia são esses.
const fs = require('fs')fs.stat('/Users/pauloluan/test.txt', (err, stats) => {if (err) {console.error(err)return}stats.isFile() // truestats.isDirectory() // falsestats.isSymbolicLink() // falsestats.size // 1024000 //= 1MB})