Каждый файл содержит набор деталей, которые мы можем проверить с помощью 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/”