fs.rename()方法用於將給定舊路徑下的文件異步重命名為給定新路徑。如果目標文件已經存在,它將覆蓋目標文件。
用法:
fs.rename( oldPath, newPath, callback )
參數:此方法接受上述和以下所述的三個參數:
- oldPath:它包含必須重命名的文件的路徑。它可以是字符串,緩衝區或URL。
- newPath:它包含必須重命名文件的新路徑。它可以是字符串,緩衝區或URL。
- callback:執行該方法時將調用該函數。它具有一個可選參數,用於顯示在此過程中發生的任何錯誤。
以下示例說明了Node.js中的fs.rename()方法:
範例1:本示例使用fs.rename()方法重命名文件。
// Node.js program to demonstrate the
// fs.rename() method
// Import filesystem module
const fs = require('fs');
// List all the filenames before renaming
getCurrentFilenames();
// Rename the file
fs.rename('hello.txt', 'world.txt', () => {
console.log("\nFile Renamed!\n");
// List all the filenames after renaming
getCurrentFilenames();
});
// Function to get current filenames
// in directory
function getCurrentFilenames() {
console.log("Current filenames:");
fs.readdirSync(__dirname).forEach(file => {
console.log(file);
});
}
輸出:
Current filenames: hello.txt index.js File Renamed! Current filenames: index.js world.txt
範例2:本示例使用fs.rename()方法演示文件重命名過程中的錯誤。
// Node.js program to demonstrate the
// fs.rename() method
// Import filesystem module
const fs = require('fs');
// List all the filenames before renaming
getCurrentFilenames();
// Rename the file
fs.rename('hello.txt', 'geeks.txt', (error) => {
if (error) {
// Show the error
console.log(error);
}
else {
// List all the filenames after renaming
console.log("\nFile Renamed\n");
// List all the filenames after renaming
getCurrentFilenames();
}
});
// 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\hello.txt' -> 'G:\tutorials\nodejs-fs-rename\geeks.txt'] { errno:-4058, code:'ENOENT', syscall:'rename', path:'G:\\tutorials\\nodejs-fs-rename\\hello.txt', dest:'G:\\tutorials\\nodejs-fs-rename\\geeks.txt' }
參考: https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback
相關用法
注:本文由純淨天空篩選整理自sayantanm19大神的英文原創作品 Node.js | fs.rename() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。