fs 模块操作文件系统 (文件 / 目录)
在 fs 模块中,能够应用 stat 办法或 lstat 办法查看一个文件或目录信息。当查看符号链接文件的信息时,必须应用 lstat 办法。
一、异步办法
1. 语法
fs.stat(path, callback);
fs.lstat(path, callback);
2. 参数
(1)path:用于指定须要被查看的文件或目录的残缺门路及文件名或目录名;
(2)callback:用于指定查看文件或目录信息操作结束时执行的回调函数,办法如下:
function(err, stats){……}。
(2-1)参数:
err:查看文件或目录信息操作失败时触发的谬误对象;
stats:一个 fs.Stats 对象。
(2-2)该对象具备如下一些办法:
☛ isFile:用于判断被查看的对象是否为一个文件,如果是返回 true,否则,返回 false;
☛ isDirectory:用于判断被查看的对象是否为一个目录,如果是的话则返回 true,否则,返回 false;
☛ isBlockDevice:用于判断被查看的文件是否为一个块设施文件,如果是的话则返回 true,否则,返回 false(仅在 Unix 操作系统下无效);
☛ isCharacterDevice:用于判断被查看的文件是否为一个字符设施文件,如果是的话则返回 true,否则,返回 false(仅在 Unix 操作系统下无效);
☛ isSymbolicLink:用于判断被查看的文件是否为一个符号链接文件,如果是的话则返回 true,否则,返回 false。该办法仅在 lstat 办法的回调函数中无效;
☛ isFIFO:用于判断被查看的文件是否为一个 FIFO,如果是的话则返回 true,否则,返回 false(仅在 Unix 操作系统下无效);
☛ isSocket:用于判断被查看的文件是否为一个 socket 文件,如果是的话则返回 true,否则,返回 false(仅在 Unix 操作系统下无效);
(2-3)该对象具备如下一些属性:
☛ dev:该属性值为文件或者目录所在设施 ID,该属性值仅在 Unix 操作系统下无效;
☛ ino:该属性值为文件或者目录的索引编号,该属性值仅在 Unix 操作系统下无效;
☛ mode:该属性值为应用数值模式代表的文件或目录的权限标记;
☛ nlink:该属性值为文件或者目录的硬连贯数量;
☛ uid:该属性值为文件或者目录的所有者的用户 ID,该属性值仅在 Unix 操作系统下无效;
☛ gid:该属性值为文件或目录的所有者的组 ID,该属性值仅在 Unix 操作系统下无效;
☛ rdev:该属性值为字符设施文件或块设施文件所在设施 ID,该属性值仅在 Unix 操作系统下无效;
☛ size:该属性值为文件尺寸(即文件中的字节数);
☛ atime:该属性值为文件的拜访工夫;
☛ mtime:该属性值为文件的批改工夫;
☛ ctime:该属性值为文件的创立工夫;
1
2
3
4
var fs = require(‘fs’);
fs.stat(‘./server.js’,function(err, stats){
console.log(stats);
});
运行后果:
二、同步形式
在应用同步形式查看文件信息时,能够应用 fs 模块中的 statSync 办法或 lstatSync 办法。
1. 语法
var mystat = fs.statSync(path);
var mystat = fs.lstatSync(path);
2. 参数
path:用于指定须要被查看的文件或者目录的残缺门路及文件名或目录名。
该办法返回寄存了文件信息的 fs.Stats 对象。
三、fstat/fstatSync
在应用 open 或者 openSync 办法关上文件并返回文件描述符后,能够应用能够应用 fs 模块中的 fstat 或者 fstatSync 办法查问被关上的文件信息。
1、语法
fs.fstat(fd, callback);
var mystat = fs.fstatSync(fd); // 该办法返回寄存了文件信息的 fs.Stats 对象
2、参数
fd:参数值必须为关上文件时返回的文件描述符;
callback:用于指定查看文件或目录信息操作结束时执行的回调函数,该回调函数的指定办法与 stat 办法的第二个参数值回调函数完全相同;