Как работает fs.stat ()?
Если вы хотите использовать функцию обратного вызова / асинхронную FS, не используйте синхронную версию, используйте fs.stat ():
var fs = require('fs');
console.log("+++++++++++++++++++++++++++++++++++++++");
fs.stat(pathname, function(err, stats) {
console.log(stats.isDirectory());
});
console.log("+++++++++++++++++++++++++++++++++++++++");
Более подробная информация о fs.stat () . Вы можете получить много информации об основном объекте:
fs.stat(path, function(err, stats) {
console.log(stats)
}
Выход:
{ dev: 2049,
ino: 305352,
mode: 16877,
nlink: 12,
uid: 1000,
gid: 1000,
rdev: 0,
size: 4096,
blksize: 4096,
blocks: 8,
atime: '2009-06-29T11:11:55Z',
mtime: '2009-06-29T11:11:40Z',
ctime: '2009-06-29T11:11:40Z' }
Многие элементы часто бесполезны для нас, да. Но вот значение всех этих переменных согласно этой статье :
- dev: Идентификатор устройства, содержащего файл
- режим: защита файлов
- nlink: количество жестких ссылок на файл
- uid: идентификатор пользователя владельца файла.
- gid: идентификатор группы владельца файла.
- rdev: идентификатор устройства, если файл является специальным файлом.
- blksize: размер блока для ввода-вывода файловой системы.
- ino: Номер индекса файла. Inode - это структура данных файловой системы, которая -
- хранит информацию о файле.
- размер: общий размер файла в байтах.
- блоков: количество блоков, выделенных для файла.
- atime: объект даты, представляющий время последнего доступа к файлу.
- mtime: объект даты, представляющий время последнего изменения файла.
- ctime: объект даты, представляющий время последнего изменения индекса файла.
Вы также можете, например, в документации к nodeJS , получить больше информации, например:
stats.isFile()
stats.isDirectory()
stats.isBlockDevice()
stats.isSymbolicLink() (only valid with fs.lstat())
stats.isCharacterDevice()
stats.isFIFO()
stats.isSocket()
Что касается stats.isSymbolicLink (), есть другая функция, кроме fs.stat, которая называется fs.lstat (), и здесь есть разница между ними:
stat
следует по символическим ссылкам. Если указан путь, который является символической ссылкой, он возвращает статистику цели символической ссылки.
lstat
не следует по символическим ссылкам. Если указан путь, который является символической ссылкой, он возвращает статистику символической ссылки, а не ее цель.