返回

使用 Node.js fs 模块进行文件和文件夹操作

前端

在 Node.js 中,fs(文件系统)模块提供了操作文件和文件夹的强大功能。从创建新文件到删除现有目录,fs 模块一应俱全。本文将深入探讨 fs 模块,展示如何使用它来管理文件系统。

异步与同步方法

fs 模块中的方法具有异步和同步两种版本。异步方法使用回调函数,而在同步方法执行时,Node.js 应用程序将被阻塞。选择异步还是同步版本取决于应用程序的特定需求和性能考虑。

创建和读取文件

创建新文件非常简单。使用 fs.writeFile() 方法将数据写入文件,如下所示:

fs.writeFile('newfile.txt', 'Hello World!', (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('File written successfully');
  }
});

要读取文件内容,可以使用 fs.readFile() 方法。它将文件内容作为缓冲区返回,但可以将其转换为字符串或其他格式:

fs.readFile('newfile.txt', (err, data) => {
  if (err) {
    console.error(err);
  } else {
    const content = data.toString();
    console.log(content); // 输出:Hello World!
  }
});

更新和重命名文件

可以使用 fs.appendFile() 方法将数据追加到现有文件。这对于动态创建日志文件或累积数据很有用:

fs.appendFile('logfile.txt', 'New log entry', (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Log entry appended');
  }
});

要重命名文件,可以使用 fs.rename() 方法:

fs.rename('oldname.txt', 'newname.txt', (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('File renamed successfully');
  }
});

删除文件和文件夹

要删除文件,可以使用 fs.unlink() 方法:

fs.unlink('myfile.txt', (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('File deleted successfully');
  }
});

要删除目录,可以使用 fs.rmdir() 方法。如果目录非空,则此操作将失败:

fs.rmdir('mydirectory', (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Directory deleted successfully');
  }
});

结论

Node.js 的 fs 模块提供了一个强大的工具包,用于管理文件和文件夹。通过理解异步和同步方法之间的差异,并掌握创建、读取、更新和删除文件的技术,您可以有效地构建应用程序,充分利用文件系统。