📅  最后修改于: 2023-12-03 14:44:38.623000             🧑  作者: Mango
fs.fstat()
方法是 Node.js 中 fs 模块提供的方法之一,其功能是返回一个文件的状态信息。该方法是 fs.stat() 的同步版本。
以下是 fs.fstat()
方法的语法:
fs.fstat(fd[, options], callback)
参数说明:
fd
: 文件描述符 / 文件指针。options
: 一个可选的对象,其属性表示如何读取文件。callback
: 回调函数,其参数是一个用于描述文件状态的 fs.Stats 对象。fs.fstat()
方法返回的数据类型是 fs.Stats,包含一个文件的状态信息。该对象具有以下属性:
stats.isFile()
: 如果是文件,则返回 true,否则返回 false。stats.isDirectory()
: 如果是文件夹,则返回 true,否则返回 false。stats.isBlockDevice()
: 如果是块设备,则返回 true,否则返回 false。stats.isCharacterDevice()
: 如果是字符设备,则返回 true,否则返回 false。stats.isSymbolicLink()
: 如果是符号链接,则返回 true,否则返回 false。stats.isFIFO()
: 如果是先进先出 (FIFO) 管理的 FIFO,则返回 true,否则返回 false。stats.isSocket()
: 如果是一个套接字,则返回 true,否则返回 false。此外,还包括以下属性:
stats.dev
: 文件的数值型设备标识符。stats.ino
: 文件的数值型 inode 编号。stats.mode
: 文件的行为标识和文件权限。stats.nlink
: 文件的硬链接数量。stats.uid
: 文件的数值型用户标识符。stats.gid
: 文件的数值型群组标识符。stats.rdev
: 设备文件(如果是设备)的数值型设备标识符。stats.size
: 文件的大小(以字节为单位)。stats.blksize
: 文件系统 I/O 的块大小。stats.blocks
: 文件的块数。以下是 fs.fstat()
方法的使用实例:
const fs = require('fs');
const fileStat = fs.openSync('demo.txt', 'r');
const fileStats = fs.fstatSync(fileStat);
console.log(fileStats.isFile()); // true
console.log(fileStats.isDirectory()); // false
console.log(fileStats.size); // 1024
以上代码打开名为 demo.txt 的文件,检查其是否是一个普通文件,以及其文件大小。