Рубрики
Без рубрики

Статистика файлов узлов

Как получить подробную информацию о файле с помощью узла

Каждый файл содержит набор деталей, которые мы можем проверить с помощью Node.

В частности, с использованием метода stat() , предоставляемого модулем fs .

Вы называете это передачей пути к файлу, и как только узел получит сведения о файле, он вызовет переданную вами функцию обратного вызова с 2 параметрами: сообщением об ошибке и статистикой файла:

const fs = require('fs')
fs.stat('/Users/flavio/test.txt', (err, stats) => {
  if (err) {
    console.error(err)
    return
  }
  //we have access to the file stats in `stats`
})

Узел также предоставляет метод синхронизации, который блокирует поток до тех пор, пока статистика файла не будет готова:

const fs = require('fs')
try {
  const stats = fs.stat('/Users/flavio/test.txt')
} catch (err) {
  console.error(err)
}

Информация о файле включена в переменную состояния. Какую информацию мы можем извлечь, используя статистику?

Многое, в том числе:

  • если файл представляет собой каталог или файл, используйте stats.isFile() и каталог stats.IS()
  • если файл является символической ссылкой, используйте stats.isSymbolicLink()
  • размер файла в байтах с использованием stats.size .

Существуют и другие продвинутые методы, но основная часть того, что вы будете использовать в своем повседневном программировании, заключается в следующем.

const fs = require('fs')
fs.stat('/Users/flavio/test.txt', (err, stats) => {
  if (err) {
    console.error(err)
    return
  }

  stats.isFile() //true
  stats.isDirectory() //false
  stats.isSymbolicLink() //false
  stats.size //1024000 //= 1MB
})

Оригинал: “https://flaviocopes.com/node-file-stats/”