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

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

console.log(err);//null
console.log(len);//5
console.log(str);//<Buffer 74 65 73 74>
})
}
});

fs.writeSync()

fs.write() 的同步版本。返回写入的字节数


var fs = require('fs');
var fd = fs.openSync('1.txt','r+');
var bf = Buffer.alloc(5);
var result = fs.writeSync(fd,bf,0,3,null);
console.log(result);//3

4、关闭文件 fs.close(fd, callback)

一个文件被操作后,要及时将该文件关闭

参数如下:

fd – 通过 fs.open() 方法返回的文件描述符。

callback – 回调函数,没有参数。


var fs = require('fs');
fs.open('1.txt','r+',function(err,fd){
if(err){
console.log('文件打开失败');
}else{
fs.close(fd, function(err){
if (err){
console.log(err);
}
console.log("文件关闭成功");
});
}
});

fs.closeSync(fd)

fs.close(fd, callback)的同步版本,返回undefined


var fs = require('fs');

var fd = fs.openSync('1.txt','r+');

fs.closeSync(fd);

File操作

上一部分介绍的都是些底层的操作,接下来将介绍一些更便捷的文件操作。使用下列方法的时候,不需要再打开和关闭文件,直接操作即可

1、写入文件
fs.writeFile(file, data[, options], callback)

异步的将数据写入一个文件,如果文件不存在则新建,如果文件原先存在,会被替换

参数如下:

file – 文件名或文件描述符。

data – 要写入文件的数据,可以是 String(字符串) 或 Buffer(流) 对象。

options – 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 ‘w’

callback – 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。


var fs = require('fs');

var filename = '1.txt';

fs.writeFile(filename,'hello',function(err){

console.log(err);//null

})

fs.writeFileSync(file, data[, options])

fs.writeFile() 的同步版本。返回 undefined


var fs = require('fs');

var filename = '1.txt';

fs.writeFileSync(filename,'abc');

2、追加文件
fs.appendFile(filename, data, [options], callback)

异步地追加数据到一个文件,如果文件不存在则创建文件。 data 可以是一个字符串或 buffer

参数如下

file – 文件名或文件描述符。

data – 要写入文件的数据,可以是 String(字符串) 或 Buffer(流) 对象。