[Node.js] fs 模組 – 重新命名檔案

檔案系統模組(fs),都提供了「非同步」和「同步」兩個版本的操作方法,此文章介紹 重新命名檔案 的兩種操作方式。

「非同步」重新命名檔案:fs.rename()

使用 fs.rename() 進行非同步的檔案重新命名:

var fs = require('fs'); // 引入檔案系統模組
console.time('rs-rename-asyn'); // 開始計時
// 將 txt/helloworld-asyn.txt 更名為 txt/helloworld-asyn-rename.txt
fs.rename('txt/helloworld-asyn.txt', 'txt/helloworld-asyn-rename.txt', function(err){
  console.time('time-10000x10000');
  for(var i = 0; i < 10000; i++){
    for(var j=0; j < 10000; j++){
    }
  }
  console.timeEnd('time-10000x10000');
  if(err) throw err;
  console.log('renamed complete');
}); // 檔案重新命名
console.timeEnd('rs-rename-asyn'); // 計時結束

「同步」重新命名檔案:fs.renameSync()

使用 fs.renameSync() 進行同步的檔案重新命名:

var fs = require('fs'); // 引入檔案系統模組
console.time('rs-rename-syn'); // 開始計時
// 將 txt/helloworld-syn.txt 更名為 txt/helloworld-syn-rename.txt
fs.renameSync('txt/helloworld-syn.txt', 'txt/helloworld-syn-rename.txt'); // 檔案重新命名
console.timeEnd('rs-rename-syn'); // 計時結束

 

一般建議優先使用「非同步」的操作方法,原因在於假如發生了異常情況,就可以避免陷入無效的終止狀態導致程式無法繼續執行。

您可在此處留言

avatar

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

  Subscribe  
Notify of