使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详

2020-06-17 08:01:28易采站长站整理

callback <Function> 回调只有一个可能的异常参数


var fs = require('fs');
var filename = 'a.txt';
fs.rename(filename,'2.new.txt',function(err){
console.log(err);//null
})

fs.renameSync(oldPath, newPath)

fs.rename(oldPath, newPath, callback)的同步版本,返回undefined


var fs = require('fs');

var filename = '2.new.txt';

var result = fs.renameSync(filename,'a.txt');

6、文件信息
fs.stat(path, callback)

fs.stat()执行后,会将stats类的实例返回给其回调函数。可通过stats类中的提供方法判断文件的相关属性

参数如下:

path – 文件路径。

callback – 回调函数,带有两个参数如:(err, stats), stats 是 fs.Stats 对象


var fs = require('fs');
var filename = 'a.txt';
fs.stat(filename,function(err,stats){
console.log(err);//null
/*
{ dev: 223576,
mode: 33206,
nlink: 1,
uid: 0,
gid: 0,
rdev: 0,
blksize: undefined,
ino: 7599824371527537,
size: 0,
blocks: undefined,
atime: 2017-06-03T14:18:15.370Z,
mtime: 2017-06-03T14:18:15.370Z,
ctime: 2017-06-03T16:32:05.776Z,
birthtime: 2017-06-03T14:18:15.370Z }
*/
console.log(stats);
});

stats类中的方法有

stats.isFile()  如果是文件返回 true,否则返回 false。

stats.isDirectory() 如果是目录返回 true,否则返回 false。

stats.isBlockDevice()   如果是块设备返回 true,否则返回 false。

stats.isCharacterDevice()   如果是字符设备返回 true,否则返回 false。

stats.isSymbolicLink()  如果是软链接返回 true,否则返回 false。

stats.isFIFO()  如果是FIFO,返回true,否则返回false。FIFO是UNIX中的一种特殊类型的命令管道。

stats.isSocket()    如果是 Socket 返回 true,否则返回 false。


var fs = require('fs');
var filename = 'a.txt';
fs.stat(filename,function(err,stats){
console.log(stats.isFile());//true
});

fs.statSync(path)

fs.stat(path, callback)方法的同步版本,返回一个 fs.Stats 实例


var fs = require('fs');
var filename = 'a.txt';
var result = fs.statSync(filename);
/*
{ dev: 223576,
mode: 33206,
nlink: 1,
uid: 0,
gid: 0,
rdev: 0,
blksize: undefined,
ino: 7599824371527537,
size: 0,
blocks: undefined,
atime: 2017-06-03T14:18:15.370Z,
mtime: 2017-06-03T14:18:15.370Z,
ctime: 2017-06-03T16:32:05.776Z,
birthtime: 2017-06-03T14:18:15.370Z }