fsPromises.rename()方法用于将给定旧路径下的文件异步重命名为给定新路径。如果目标文件已经存在,它将覆盖目标文件。它以无争议的方式解决了承诺。
用法:
fsPromises.rename( oldPath, newPath )
参数:该方法接受上述和以下所述的两个参数:
- oldPath:它包含必须重命名的文件的路径。它可以是字符串,缓冲区或URL。
 - newPath:它包含必须重命名文件的新路径。它可以是字符串,缓冲区或URL。
 
以下示例说明了Node.js中的fsPromises.rename()方法:
范例1:本示例使用fsPromises.rename()方法重命名文件:
Node.js
// Node.js program to demonstrate the      
// fsPromises.rename() method   
  
// Import filesystem module  
const fs = require('fs'); 
const fsPromises = require('fs').promises; 
  
// List all the filenames before renaming  
getCurrentFilenames(); 
  
(async function main() { 
    try { 
  
        // Rename the file  
        fsPromises.rename('GFG.txt', 'GeeksforGeeks.txt') 
        console.log("\nFile Renamed!\n"); 
  
        // List all the filenames after renaming  
        getCurrentFilenames(); 
  
    } catch (err) { 
        console.error(err); 
    } 
})(); 
  
// Function to get current filenames  
// in directory  
function getCurrentFilenames() { 
    console.log("Current filenames:"); 
    fs.readdirSync(__dirname).forEach(file => { 
        console.log(file); 
    }); 
}输出:
Current filenames: GFG.txt GeeksforGeeks.js File Renamed! Current filenames: GeeksforGeeks.js GFG.txt
范例2:本示例使用fsPromises.rename()方法演示文件重命名过程中的错误:
Node.js
// Node.js program to demonstrate the      
// fsPromises.rename() method   
  
// Import filesystem module  
const fs = require('fs'); 
const fsPromises = require('fs').promises; 
  
(async function main() { 
    try { 
  
        // List all the filenames before renaming  
        getCurrentFilenames(); 
  
        // Rename the file  
        fsPromises.rename('GeeksforGeeks.txt', 'geeks.txt') 
  
        // List all the filenames after renaming  
        console.log("\nFile Renamed\n"); 
  
        // List all the filenames after renaming  
        getCurrentFilenames(); 
    } 
    catch (err) { 
        console.error(err); 
    } 
})(); 
  
// Function to get current filenames  
// in directory  
function getCurrentFilenames() { 
    console.log("Current filenames:"); 
    fs.readdirSync(__dirname).forEach(file => { 
        console.log(file); 
    }); 
}输出:
Current filenames:
index.js
package.json
world.txt
[Error:ENOENT:no such file or directory, rename  
'G:\tutorials\nodejs-fs-rename\GeeksforGeeks.txt' ->
'G:\tutorials\nodejs-fs-rename\geeks.txt'] {
 errno:-4058,
 code:'ENOENT',
 syscall:'rename',
 path:'G:\\tutorials\\nodejs-fs-rename\\GeeksforGeeks.txt',
 dest:'G:\\tutorials\\nodejs-fs-rename\\geeks.txt'
}
参考: https://nodejs.org/api/fs.html#fs_fspromises_rename_oldpath_newpath
相关用法
- Node.js console.timeLog()用法及代码示例
 - Node.js GM chop()用法及代码示例
 - Node.js GM drawArc()用法及代码示例
 - Node.js GM edge()用法及代码示例
 - Node.js GM drawLine()用法及代码示例
 - Node.js GM bordercolor()用法及代码示例
 - Node.js GM border()用法及代码示例
 - Node.js GM drawPolyline()用法及代码示例
 - Node.js GM channel()用法及代码示例
 - Node.js GM whitePoint()用法及代码示例
 - Node.js GM operator()用法及代码示例
 - Node.js GM transparent()用法及代码示例
 - Node.js GM drawRectangle()用法及代码示例
 
注:本文由纯净天空筛选整理自nitin_sharma大神的英文原创作品 Node.js | fsPromises.rename() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
