当你需要为你的 Node.js 应用程序创建、读取或更新文件时,你需要了解 Node.js 文件系统模块的 API。Node.js 提供了许多文件操作方法,例如创建、打开、读取、写入、删除和关闭文件等操作。本文将详细介绍 Node.js 文件操作常用的 API 及其使用方法。
核心模块
Node.js 中提供了 fs
核心模块,我们可以通过 require('fs')
来引入它。以下是一些常用的 API。
读取文件
fs.readFile()
方法用于异步读取文件。以下是语法:
fs.readFile(file, [encoding], [callback])
file
- 文件名或文件描述符。encoding
- 字符编码,默认值:null。callback
- 回调函数,用于接收文件的内容。回调函数带有两个参数(err, data)
,其中data
就是文件的内容。
以下是一个示例,使用 fs.readFile()
来读取文件:
const fs = require('fs');
fs.readFile('example.txt', function (err, data) {
if (err) {
console.error(err);
} else {
console.log(data.toString());
}
});
写入文件
fs.writeFile()
方法用于将数据写入文件。以下是语法:
fs.writeFile(file, data, [options], callback)
file
- 文件名或文件描述符。data
- 要写入文件的数据,可以是 Buffer、TypedArray 或一个字符串。options
- 选项对象。默认值:{}
。callback
- 回调函数,用于在数据写入完成后执行。
以下是一个示例,使用 fs.writeFile()
来写文件:
const fs = require('fs');
fs.writeFile('example.txt', 'Hello, world!', function (err) {
if (err) {
console.error(err);
} else {
console.log('文件写入成功。');
}
});
案例
读取目录下所有文件
我们可以使用 fs.readdir()
方法来读取目录下的所有文件。以下是语法:
fs.readdir(path, [options], callback)
path
- 目录的路径。options
- 选项对象。默认值:{}
。callback
- 回调函数,用于接受目录下的文件列表。回调函数带有两个参数(err, files)
,其中files
是目录下的文件列表。
以下是一个示例代码,使用 fs.readdir()
来读取目录下的所有文件:
const fs = require('fs');
const path = './example';
fs.readdir(path, function (err, files) {
if (err) {
console.error(err);
} else {
files.forEach(function (file) {
console.log(file);
});
}
});
复制文件
我们可以使用 fs.createReadStream()
和 fs.createWriteStream()
方法来复制一个文件。以下是示例代码:
const fs = require('fs');
const src = fs.createReadStream('source.txt');
const dest = fs.createWriteStream('destination.txt');
src.pipe(dest);
首先,我们使用 fs.createReadStream()
方法来创建一个读取流对象 src
,并将源文件名指定为参数。然后,我们使用 fs.createWriteStream()
方法来创建一个写入流对象 dest
,并将目标文件名指定为参数。
最后,我们使用管道 pipe()
来将读取流对象 src
中的数据写入到写入流对象 dest
中。这种方法适用于大型文件的复制。
以上就是部分 Node.js 文件操作 API 的使用方法及示例。在实际开发中,我们可以根据需要选择合适的方法来处理文件操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node文件操作汇总实例详解 - Python技术站