Node.js 文件系统

2020-06-17 05:30:31易采站长站整理

该方法使用了文件描述符来读取文件。

参数

参数使用说明如下:

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

buffer – 数据写入的缓冲区。

offset – 缓冲区写入的写入偏移量。

length – 要从文件中读取的字节数。

position – 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。

callback – 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。

实例

input.txt 文件内容为:


软件开发网官网地址:www.mscto.com

接下来我们创建 file.js 文件,代码如下所示:


var fs = require("fs");
var buf = new Buffer.alloc(1024);

console.log("准备打开已存在的文件!");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("准备读取文件:");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
console.log(bytes + " 字节被读取");

// 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
});
});

以上代码执行结果如下:


$ node file.js
准备打开已存在的文件!
文件打开成功!
准备读取文件:
42 字节被读取
软件开发网官网地址:www.mscto.com


关闭文件

语法

以下为异步模式下关闭文件的语法格式:


fs.close(fd, callback)

该方法使用了文件描述符来读取文件。

参数

参数使用说明如下:

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

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

实例

input.txt 文件内容为:


软件开发网官网地址:www.mscto.com

接下来我们创建 file.js 文件,代码如下所示:


var fs = require("fs");
var buf = new Buffer.alloc(1024);

console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("准备读取文件!");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){