作者:NickMajor翻译:疯狂科技之家原文:https://coderrocketfuel.com/a...未经授权严禁转载介绍你是Node.js中的操作系统文件,需要一个简单的方法以编程方式重命名文件?幸运的是,Node.js的文件系统(Fs)核心模块实现了内置方法,通过fs.renam()和fs.renameSync()方法为文件命名。这两个函数都会给你相同的结果,只是以两种不同的方式完成。fs.renameSync()的同步版本将阻止您的代码并等待文件成功重命名或出现错误,然后再继续。fs.rename()的异步版本不会阻塞你的代码,而是在文件被删除时返回一个回调函数。下面将向您展示如何使用这两种方法。要使下面的代码正常工作,请确保您安装了Node.js并将要重命名的文件放在项目目录的根目录中。在这个例子中,我们的文件是一个名为“your-file.png”的PNG图像文件。当然,重命名方法适用于任何文件类型。首先,让我们介绍一下fs.rename()版本。我们会给你完整的代码,然后解释所有不同的部分:我们将为您提供完整的代码,然后是解释:fs.rename():constfs=require("fs")constpath=require("path")constpathToFile=path.join(__dirname,"your-file.png")constnewPathToFile=path.join(__dirname,"new-filename.png")fs.rename(pathToFile,newPathToFile,function(err){if(err){throwerr}else{console.log(“成功重命名文件!”)}})让我们分解代码的每个部分:首先,导入Fs模块和Path核心模块。接下来创建pathToFile和newPathToFile变量。我们使用Path模块来获取我们要更改的文件的当前路径。我们还创建了一个路径,其名称与我们希望新文件具有的名称相同。然后,我们使用fs.rename()函数。将两个文件路径传递给函数并返回回调。在回调函数中,我们进行了一些错误处理,并在成功时通过console.log()发送成功消息。在终端中运行代码时,您应该会看到以下输出:$Successfullyrenamedthefile!如果您查看文件所在的目录,您应该会看到该文件已重命名。接下来是同步版本。fs.renameSync():constfs=require("fs")constpath=require("path")constpathToFile=path.join(__dirname,"your-file.png")constnewPathToFile=path.join(__dirname,"new-filename.png")try{fs.renameSync(pathToFile,newPathToFile)console.log("Successfullyrenamedthefile!")}catch(err){throwerr}和前面的例子类似,我们需要Fs和Path核心模块。然后获取当前文件的路径,并用我们想要的新文件名创建一个路径。但后来我们使用try...catch语句。在try部分,将pathToFile和newPathToFile变量传递给fs.renameSync()函数,并在文件成功重命名时记录一条成功消息。使用catch抛出可能发生的任何错误。在终端中运行代码时,您应该会看到与之前相同的输出:$Successfullyrenamedthefile!您目录中的文件将有一个新名称。您目录中的文件将有一个新名称。结语Node.js的文件系统(Fs)核心模块也有很多有用的方法。可以通过查看文档获得更多信息。
