NodeJS教程

同步和异步读写文件

Preview
  • Node.js 同步和异步读写文件
  • 同步读取文件
  • 异步读取文件
  • 同步写入文件
  • 异步写入文件
  • 总结

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 对象中,并返回该对象。异步读写文件方法将数据读取到或写入到一个回调函数中。