當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。