编辑这个页面须要登录或更高权限!

Node.js FS unlink() 或 unlinkSync()函数删除文件

要删除Node.js中的文件,Node.js FS unlink(path, callback)可用于异步文件操作,unlinkSync(path)也可用于同步文件操作。在此Node.js教程中,提供了逐步指南,以删除带有节点fs和详细示例的文件。

删除Node.js中的文件– unlink()

以下是逐步指南,以编程方式在Node.js中删除文件:

  • 步骤1:在您的Node.js程序中包含文件系统模块

     var fs = require(‘fs‘);

    我们将使用此模块unlink()及其unlinkSync()功能。

  • 步骤2:使用unlink()函数异步删除文件。下面提供了语法

     fs.unlink(filePath, callbackFunction)

    尝试删除文件后,将以错误(作为参数)调用回调函数(如有)。

    要同步删除文件,请使用unlinkSync()函数。下面提供了语法

     fs.unlinkSync(filePath)

    其中,filePath是一个String,表示要删除的文件的路径。

示例:使用Node FS unlink()函数异步删除文件

对于此示例,请确保在node.js示例程序旁边有一个名为“ sample.txt”的文件。

创建以下Node.js程序,deleteFile.js以删除Node.js中的文件。

// 引入文件fs模块
var fs = require('fs'); 
 
// 删除名为“ sample.txt”的文件
fs.unlink('sample.txt', function (err) { 
    if (err) throw err; 
    // 如果没有错误,则文件已成功删除
    console.log('File deleted!'); 
 });

在终端或命令提示符下使用node命令运行程序。

终端输出

$ node deleteFile.js
File deleted!

文件已成功删除。

示例:使用Node FS unlinkSync()函数同步删除文件

创建以下 Node.js 程序同步删除 Node.js 中的文件。如果删除操作旁边的语句依赖于所删除的文件,这将非常有用。unlinkSync()函数确保在执行后续语句之前删除该文件(如果存在)。

// 引入文件fs模块
var fs = require('fs'); 
 
// 删除名为“ sample.txt”的文件 Synchronously
fs.unlinkSync('sample.txt'); 
console.log('File deleted!');

在终端或命令提示符下使用node命令运行程序。

终端输出

$ node deleteFileSynchronously.js
File deleted!

文件已成功删除。

示例:指定要删除的文件不存在。(错误:ENOENT:没有这样的文件或目录)

对于此示例,请确保在node.js示例程序旁边没有名为“ sample11.txt”的文件。我们将模拟条件,试图删除该位置不存在的文件。

// 引入文件fs模块
var fs = require('fs'); 
 
// 删除名为“ sample.txt”的文件
fs.unlink('sample11.txt', function (err) { 
    if (err) throw err; 
    // 如果没有错误,则文件已成功删除
    console.log('File deleted!'); 
 });

在终端或命令提示符下使用node命令运行程序。

终端输出

$ node deleteFile2.js  
/home/arjun/workspace/nodejs/deleteFile2.js:6
    if (err) throw err; 
             ^
 
Error: ENOENT: no such file or directory, unlink 'sample11.txt'

由于文件不存在,将引发错误,提示“无此文件或目录”。

总结

在结束本Node.js教程– Node FS时,我们学习了使用Node FS(文件系统)内置模块删除Node.js中的File。