乐趣区

关于node.js:node-fs

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 办法的第二个参数值回调函数完全相同;

退出移动版