Node.js 同步和异步读写文件
在 Node.js 中,我们可以使用 fs 模块来读写文件。fs 模块提供了同步和异步的方法来读写文件。在本文中,我们将介绍如何使用 fs 模块进行同步和异步的文件读写操作。
同步读取文件
fs 模块提供了同步读取文件的方法:fs.readFileSync()
。该方法将文件内容读取到一个 Buffer 对象中,并返回该对象。
const fs = require('fs');
const content = fs.readFileSync('file.txt');
console.log(content.toString());
在这个示例中,我们使用 fs.readFileSync()
方法读取文件内容,并将其存储在 content 变量中。我们还使用 toString()
方法将 Buffer 对象转换为字符串,并将其打印到控制台上。
异步读取文件
fs 模块提供了异步读取文件的方法:fs.readFile()
。该方法接受一个文件名和一个回调函数。当文件读取完成时,回调函数将被调用,并将读取的数据作为第二个参数传递给它。
const fs = require('fs');
fs.readFile('file.txt', (err, data) => {
if (err) throw err;
console.log(data.toString());
});
在这个示例中,我们使用fs.readFile()
方法异步读取文件内容,并将其存储在 data 变量中。当文件读取完成时,回调函数将被调用,并将读取的数据作为第二个参数传递给它。我们还使用 toString()
方法将 Buffer 对象转换为字符串,并将其打印到控制台上。
同步写入文件
fs 模块提供了同步写入文件的方法:fs.writeFileSync()
。该方法接受一个文件名和一个数据参数。它将数据写入到文件中,并在写入完成后返回。
const fs = require('fs');
fs.writeFileSync('file.txt', 'hello world');
在这个示例中,我们使用 fs.writeFileSync()
方法同步写入数据到文件中。
异步写入文件
fs 模块提供了异步写入文件的方法:fs.writeFile()
。该方法接受一个文件名、一个数据参数和一个回调函数。当写入完成时,回调函数将被调用。
const fs = require('fs');
fs.writeFile('file.txt', 'hello world', (err) => {
if (err) throw err;
console.log('The file has been saved!');
});
在这个示例中,我们使用 fs.writeFile()
方法异步写入数据到文件中。当写入完成时,回调函数将被调用,并将错误信息作为第一个参数传递给它。如果写入成功,则不会传递任何参数。
总结
在 Node.js 中,我们可以使用 fs 模块来读写文件。fs 模块提供了同步和异步的方法来读写文件。同步读写文件方法将数据读取到或写入到一个 Buffer 对象中,并返回该对象。异步读写文件方法将数据读取到或写入到一个回调函数中。