当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js fsPromises.rename()用法及代码示例


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




相关用法


注:本文由纯净天空筛选整理自nitin_sharma大神的英文原创作品 Node.js | fsPromises.rename() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。