PHP前端开发

nodejs中fs删除文件

百变鹏仔 2个月前 (10-31) #前端问答
文章标签 文件

在node.js中,我们可以使用fs模块进行文件的读写操作,其中也包括了文件的删除操作。本文将介绍如何使用node.js的fs模块删除文件。

fs模块

在Node.js中,fs模块是非常常用的模块之一,它提供了文件基本的操作功能,包括文件读取、写入、修改、删除等操作。要在Node.js中使用fs模块,首先需要引入该模块:

const fs = require('fs');

fs.unlink()

fs.unlink()方法用于删除文件。它的语法如下:

fs.unlink(path, callback)

其中,path表示要删除的文件路径,可以是绝对路径或者相对路径;callback是删除完成后的回调函数。

例如,删除当前目录下的example.txt文件:

fs.unlink('example.txt', (err) => {  if (err) throw err;  console.log('文件已删除');});

在回调函数中,如果出现了错误则会将异常抛出,否则会输出文件已删除。

fs.unlinkSync()

除了使用回调函数进行异步删除操作,还可以使用fs.unlinkSync()方法进行同步删除操作,它的使用方式与fs.unlink()方法相似:

fs.unlinkSync(path);

例如,删除当前目录下的example.txt文件:

fs.unlinkSync('example.txt');

不过要注意的是,在同步删除操作中出现错误就会抛出异常,因此需要在调用该方法时进行错误处理。

删除目录

使用fs.unlink()和fs.unlinkSync()方法只能删除文件,如果要删除一个目录,可以使用fs.rmdir()或fs.rmdirSync()方法,如下所示:

fs.rmdir(path, callback);fs.rmdirSync(path);

其中,path表示要删除的目录路径,可以是绝对路径或者相对路径。

需要注意的是,使用fs.rmdir()删除目录时,该目录必须为空目录,否则会删除失败。如果要删除非空目录,需要先将目录下的文件全部删除,然后再删除该目录。

总结

本文介绍了使用Node.js的fs模块删除文件的方法,分别是fs.unlink()和fs.unlinkSync()。删除一个目录可以使用fs.rmdir()和fs.rmdirSync()方法。在使用这些方法进行文件删除时,需要确保操作时文件没有被其他程序使用,否则会删除失败。