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