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

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

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

文件夾拷貝

function CopyDirectory(src, dest) {
  if (IsFileExist(dest) == false) {
    fs.mkdirSync(dest);
  }
  if (fs.existsSync(src) == false) {
    return false;
  }
  // console.log("src:" + src + ", dest:" + dest);
  // 拷貝新的內容進去
  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實現(xiàn)文件的拷貝復制

var fs = require( 'fs' ),
  stat = fs.stat;
/*
 * 復制目錄中的所有文件包括子目錄
 * @param{ String } 需要復制的目錄
 * @param{ String } 復制到指定的目錄
 */
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)建寫入流
          writable = fs.createWriteStream( _dst ); 
          // 通過管道來傳輸流
          readable.pipe( writable );
        }
        // 如果是目錄則遞歸調用自身
        else if( st.isDirectory() ){
          exists( _src, _dst, copy );
        }
      });
    });
  });
};
// 在復制目錄前需要判斷該目錄是否存在,不存在需要先創(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 );
      });
    }
  });
};
// 復制目錄
exists( './login', './haha', copy );

總結

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

相關文章

最新評論

全州县| 包头市| 团风县| 宝清县| 井冈山市| 东乡| 海阳市| 吴川市| 林州市| 原阳县| 容城县| 上蔡县| 微博| 中牟县| 丁青县| 龙胜| 长宁区| 万安县| 同江市| 龙岩市| 古丈县| 三穗县| 泰兴市| 马鞍山市| 清远市| 大英县| 九龙县| 定结县| 包头市| 理塘县| 黄陵县| 南投市| 阿勒泰市| 永靖县| 山阳县| 彭水| 香格里拉县| 永和县| 绍兴市| 阿尔山市| 承德市|