欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2019年09月03日 11:06:59   作者:Jevior  
這篇文章主要介紹了NodeJS 文件夾拷貝以及刪除功能,本文通過實(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)建寫入流
          writable = fs.createWriteStream( _dst ); 
          // 通過管道來傳輸流
          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ì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • NodeJs下的測試框架Mocha的簡單介紹

    NodeJs下的測試框架Mocha的簡單介紹

    本篇文章主要介紹了NodeJs下的測試框架Mocha的簡單介紹,是目前最為流行的javascript框架之一,在本文我們重點(diǎn)介紹它在NodeJs上的使用。有興趣的可以了解一下。
    2017-02-02
  • ndm:NPM的桌面GUI應(yīng)用程序

    ndm:NPM的桌面GUI應(yīng)用程序

    今天小編就為大家分享一篇關(guān)于ndm:NPM的桌面GUI應(yīng)用程序,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • node.js使用redis儲(chǔ)存session的方法

    node.js使用redis儲(chǔ)存session的方法

    這篇文章主要介紹了node.js使用redis儲(chǔ)存session的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • 手把手教你使用TypeScript開發(fā)Node.js應(yīng)用

    手把手教你使用TypeScript開發(fā)Node.js應(yīng)用

    為了減少代碼編寫過程中出現(xiàn)的錯(cuò)誤,以及更好的維護(hù)你的項(xiàng)目,本文將手把手教你配置一個(gè)簡單的開發(fā)環(huán)境來編寫Node.js的應(yīng)用程序,感興趣的小伙伴們可以參考一下
    2019-05-05
  • yarn的安裝及使用詳解

    yarn的安裝及使用詳解

    Yarn 就是一個(gè)類似于 npm 的包管理工具,它是由 facebook 推出并開源,與 npm 相比,yarn 有著眾多的優(yōu)勢,主要的優(yōu)勢在于:速度快、離線模式、版本控制,這篇文章主要介紹了yarn的安裝及使用教程,需要的朋友可以參考下
    2022-08-08
  • Node.js使用Express創(chuàng)建Web項(xiàng)目詳細(xì)教程

    Node.js使用Express創(chuàng)建Web項(xiàng)目詳細(xì)教程

    如果需要入門使用node.js進(jìn)行web開發(fā),正在學(xué)習(xí) nodejs web開發(fā)指南 的和想快速了解node.js web開發(fā)模式的朋友,相信本文是有一定幫助意義的。
    2017-03-03
  • Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版

    Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版

    這篇文章主要介紹了Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版 的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • nodejs學(xué)習(xí)筆記之路由

    nodejs學(xué)習(xí)筆記之路由

    因?yàn)橹皇怯糜诒镜胤?wù)器用于自己測試用,所以不需要太完善的路由功能,所以也就不去使用express框架,而是自己實(shí)現(xiàn)一個(gè)簡易路由,可以針對(duì)自己的需求來定制路由功能。
    2017-03-03
  • 使用NodeJs 開發(fā)微信公眾號(hào)(三)微信事件交互實(shí)例

    使用NodeJs 開發(fā)微信公眾號(hào)(三)微信事件交互實(shí)例

    這篇文章主要介紹了使用NodeJs 開發(fā)微信公眾號(hào)(三)微信事件交互實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • 一會(huì)帶你學(xué)會(huì)用Webpack搭建開發(fā)環(huán)境并打包代碼

    一會(huì)帶你學(xué)會(huì)用Webpack搭建開發(fā)環(huán)境并打包代碼

    這篇文章主要給大家介紹了關(guān)于如何用Webpack搭建開發(fā)環(huán)境并打包的相關(guān)資料,webpack是一個(gè)現(xiàn)代JavaScript應(yīng)用程序的靜態(tài)模塊打包器(module bundler),需要的朋友可以參考下
    2023-08-08

最新評(píng)論