要删除Node.js中的文件,Node.js FS unlink(path, callback)可用于异步文件操作,unlinkSync(path)也可用于同步文件操作。在此Node.js教程中,提供了逐步指南,以删除带有节点fs和详细示例的文件。
以下是逐步指南,以编程方式在Node.js中删除文件:
步骤1:在您的Node.js程序中包含文件系统模块
var fs = require(‘fs‘); |
我们将使用此模块unlink()及其unlinkSync()功能。
步骤2:使用unlink()函数异步删除文件。下面提供了语法
fs.unlink(filePath, callbackFunction) |
尝试删除文件后,将以错误(作为参数)调用回调函数(如有)。
要同步删除文件,请使用unlinkSync()函数。下面提供了语法
fs.unlinkSync(filePath) |
其中,filePath是一个String,表示要删除的文件的路径。
对于此示例,请确保在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.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!
文件已成功删除。
对于此示例,请确保在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。