最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NodeJS 文件夾拷貝以及刪除功能

 更新時(shí)間:2019年09月03日 11:06:59   作者:Jevior  
這篇文章主要介紹了NodeJS 文件夾拷貝以及刪除功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

文件夾拷貝

function CopyDirectory(src, dest) {
  if (IsFileExist(dest) == false) {
    fs.mkdirSync(dest);
  }
  if (fs.existsSync(src) == false) {
    return false;
  }
  // console.log("src:" + src + ", dest:" + dest);
  // 拷貝新的內(nèi)容進(jìn)去
  var dirs = fs.readdirSync(src);
  dirs.forEach(function(item){
    var item_path = path.join(src, item);
    var temp = fs.statSync(item_path);
    if (temp.isFile()) { // 是文件
      // console.log("Item Is File:" + item);
      fs.copyFileSync(item_path, path.join(dest, item));
    } else if (temp.isDirectory()){ // 是目錄
      // console.log("Item Is Directory:" + item);
      CopyDirectory(item_path, path.join(dest, item));
    }
  });
}

文件夾刪除

function DeleteDirectory(dir) {
  if (fs.existsSync(dir) == true) {
    var files = fs.readdirSync(dir);
    files.forEach(function(item){
      var item_path = path.join(dir, item);
      // console.log(item_path);
      if (fs.statSync(item_path).isDirectory()) {
        DeleteDirectory(item_path);
      }
      else {
        fs.unlinkSync(item_path);
      }
    });
    fs.rmdirSync(dir);
  }
}

nodejs實(shí)現(xiàn)文件的拷貝復(fù)制

var fs = require( 'fs' ),
  stat = fs.stat;
/*
 * 復(fù)制目錄中的所有文件包括子目錄
 * @param{ String } 需要復(fù)制的目錄
 * @param{ String } 復(fù)制到指定的目錄
 */
var copy = function( src, dst ){
  // 讀取目錄中的所有文件/目錄
  fs.readdir( src, function( err, paths ){
    if( err ){
      throw err;
    }
    paths.forEach(function( path ){
      var _src = src + '/' + path,
        _dst = dst + '/' + path,
        readable, writable;   
      stat( _src, function( err, st ){
        if( err ){
          throw err;
        }
        // 判斷是否為文件
        if( st.isFile() ){
          // 創(chuàng)建讀取流
          readable = fs.createReadStream( _src );
          // 創(chuàng)建寫(xiě)入流
          writable = fs.createWriteStream( _dst ); 
          // 通過(guò)管道來(lái)傳輸流
          readable.pipe( writable );
        }
        // 如果是目錄則遞歸調(diào)用自身
        else if( st.isDirectory() ){
          exists( _src, _dst, copy );
        }
      });
    });
  });
};
// 在復(fù)制目錄前需要判斷該目錄是否存在,不存在需要先創(chuàng)建目錄
var exists = function( src, dst, callback ){
  fs.exists( dst, function( exists ){
    // 已存在
    if( exists ){
      callback( src, dst );
    }
    // 不存在
    else{
      fs.mkdir( dst, function(){
        callback( src, dst );
      });
    }
  });
};
// 復(fù)制目錄
exists( './login', './haha', copy );

總結(jié)

以上所述是小編給大家介紹的NodeJS 文件夾拷貝及刪除功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

最新評(píng)論

洛南县| 绥芬河市| 西充县| 夏津县| 武清区| 玉山县| 长葛市| 台南市| 婺源县| 新余市| 新津县| 青州市| 绥德县| 湄潭县| 海淀区| 菏泽市| 宜章县| 南投县| 柘荣县| 华蓥市| 高邮市| 化隆| 德惠市| 上杭县| 湖北省| 渭源县| 耿马| 杭锦旗| 秀山| 高雄市| 资兴市| 新河县| 焉耆| 调兵山市| 栖霞市| 铜川市| 蒙城县| 左贡县| 清远市| 高州市| 白城市|