📜  Node.js文件系统(1)

📅  最后修改于: 2023-12-03 15:03:15.650000             🧑  作者: Mango

Node.js文件系统

Node.js中的文件系统模块(fs模块)允许我们访问计算机文件系统,并进行文件的读取、写入、删除和更新等操作。该模块提供了同步和异步的方法,并具有较好的性能和可用性。

在Node.js中使用文件系统模块

要使用文件系统模块,我们需要在代码中引入fs模块。

const fs = require('fs');
文件读取

读取文件是最常见的文件操作。以下是如何从文件中读取数据的示例:

fs.readFile('file.txt', function (err, data) {
  if (err) throw err;
  console.log(data.toString());
});

该函数的第一个参数是要读取的文件名,第二个参数是一个回调函数。如果文件读取成功,则在回调函数中处理文件的数据。如果文件读取失败,则在回调函数中处理错误。

文件写入

要写入数据到文件中,我们可以使用以下代码:

fs.writeFile('file.txt', 'Hello Node.js', function (err) {
  if (err) throw err;
  console.log('文件已保存!');
});

该函数的第一个参数是要写入的文件名,第二个参数是要写入的数据,第三个参数是一个回调函数。如果写入文件成功,则在回调函数中执行成功的操作。如果写入文件失败,则在回调函数中处理错误。

文件删除

要删除文件,我们使用以下代码:

fs.unlink('file.txt', function (err) {
  if (err) throw err;
  console.log('文件已删除!');
});

该函数的第一个参数是要删除的文件名,第二个参数是回调函数。如果删除文件成功,则在回调函数中执行成功的操作。如果删除文件失败,则在回调函数中处理错误。

文件重命名

要重命名文件,我们可以使用以下代码:

fs.rename('file.txt', 'renamedFile.txt', function (err) {
  if (err) throw err;
  console.log('文件已重命名!');
});

该函数的第一个参数是原始文件的名称,第二个参数是新文件的名称,第三个参数是回调函数。如果重命名文件成功,则在回调函数中执行成功的操作。如果重命名文件失败,则在回调函数中处理错误。

同步的文件操作

以上所有的文件操作都是异步的,在Node.js中也有同步的文件操作。但是,同步的文件操作有可能会阻塞进程,因此它们应该在诸如脚本之类的简短运行时间的操作中使用。

以下是同步读取文件的示例:

const data = fs.readFileSync('file.txt');
console.log(data.toString());

以下是同步写入文件的示例:

fs.writeFileSync('file.txt', 'Hello Node.js');
console.log('文件已保存!');

同步的文件操作不需要回调函数,因为它们在执行时会阻止进程,直到它们完成操作。如果文件操作失败,则会抛出一个异常,将其捕获并处理。

总结

文件系统模块是Node.js的重要模块之一。我们可以使用它来读取、写入、删除、重命名和操作文件。使用异步的文件操作可以避免阻塞进程。但是,如果必须使用同步操作,请在简短的脚本中使用它们。