国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

Node.js復制文件的方法示例

2024-05-06 16:34:12
字體:
來源:轉載
供稿:網友

本文實例講述了Node.js復制文件的方法。分享給大家供大家參考,具體如下:

本人開發過程中,經常遇到,要去拷貝模板到當前文件夾,經常要去托文件,為了省事,解決這個問題,寫了一個node復制文件。

// js/app.js:指定確切的文件名。// js/*.js:某個目錄所有后綴名為js的文件。// js/**/*.js:某個目錄及其所有子目錄中的所有后綴名為js的文件。// !js/app.js:除了js/app.js以外的所有文件。// *.+(js|css):匹配項目根目錄下,所有后綴名為js或css的文件。//流 stream  管道 pipe 管道//如果想在讀取流和寫入流的時候做完全的控制,可以使用數據事件。但對于單純的文件復制來說讀取流和寫入流可以通過管道來傳輸數據。var fs = require("fs");var path = require("path");/* * 復制目錄中的所有文件包括子目錄 * @src param{ String } 需要復制的目錄  例 images 或者 ./images/ * @dst param{ String } 復制到指定的目錄  例 images images/ *///獲取當前目錄絕對路徑,這里resolve()不傳入參數var filePath = path.resolve();var copy = function(src,dst){  //判斷文件需要時間,則必須同步  if(fs.existsSync(src)){    fs.readdir(src,function(err,files){      if(err){console.log(err);return;}      files.forEach(function(filename){        //url+"/"+filename不能用/直接連接,Unix系統是”/“,Windows系統是”/“        var url = path.join(src,filename),          dest = path.join(dst,filename);          console.log(url);          console.log(dest);        fs.stat(path.join(src,filename),function(err, stats){          if (err) throw err;           //是文件          if(stats.isFile()){            //創建讀取流            readable = fs.createReadStream(url);            //創建寫入流             writable = fs.createWriteStream(dest,{ encoding: "utf8" });            // 通過管道來傳輸流            readable.pipe(writable);          //如果是目錄          }else if(stats.isDirectory()){            exists( url, dest, copy );          }        });      });    });  }else{    console.log("給定的目錄不存,讀取不到文件");    return;  }}function exists(url,dest,callback){  fs.exists(dest,function(exists){    if(exists){      callback && callback(url,dest);    }else{      //第二個參數目錄權限 ,默認0777(讀寫權限)      fs.mkdir(dest,0777,function(err){        if (err) throw err;        callback && callback(url,dest);      });    }  });}exports.copy = copy;//copy("./views/","./www/");copy("./../jdcase/homeappliances/",filePath);

希望本文所述對大家nodejs程序設計有所幫助。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵川县| 莱西市| 安义县| 全州县| 理塘县| 长武县| 化隆| 安平县| 五峰| 玉林市| 洛隆县| 麻江县| 临桂县| 长丰县| 顺平县| 休宁县| 阳山县| 河池市| 枣强县| 霍山县| 电白县| 嵊州市| 微山县| 湖北省| 青浦区| 罗甸县| 临汾市| 小金县| 贡觉县| 互助| 广德县| 安康市| 竹山县| 阿巴嘎旗| 阳信县| 马龙县| 黄石市| 曲靖市| 上栗县| 澄江县| 平定县|