当前位置: 首页 > 编程笔记 >

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

杜砚
2023-03-14
本文向大家介绍Node.js复制文件的方法示例,包括了Node.js复制文件的方法示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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程序设计有所帮助。

 类似资料:
  • 问题内容: 我正在处理的项目(node.js)暗示了文件系统的许多操作(复制/读取/写入等)。我想知道哪些方法是最快的,我很乐意得到建议。谢谢。 问题答案: 这是使用流在一行代码中复制文件的好方法: 在节点v8.5.0中,添加了copyFile

  • 我正在处理的项目(node.js)意味着对文件系统的大量操作(复制、读取、写入等)。 哪些方法最快?

  • 本文向大家介绍在Node.js中实现文件复制的方法和实例,包括了在Node.js中实现文件复制的方法和实例的使用技巧和注意事项,需要的朋友参考一下 Node.js 本身并没有提供直接复制文件的 API,如果想用 Node.js 复制文件或目录,需要借助其他的 API 来实现。复制单个的文件可以直接用 readFile、writeFile,这样比较简便。如果是复制一个目录下的所有文件,目录下可能还包

  • 本文向大家介绍Nodejs 复制文件/文件夹的方法,包括了Nodejs 复制文件/文件夹的方法的使用技巧和注意事项,需要的朋友参考一下 1.使用fs复制文件 使用fs对象的readFileSync,writeFileSync方法进行读写操作复制 cp.js 这样就可以复制from.js到to.js 2.使用linux命令复制文件 这里使用了process对象,process对象是一个node的全局

  • 本文向大家介绍php简单复制文件的方法,包括了php简单复制文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php简单复制文件的方法。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,

  • 本文向大家介绍python复制文件的方法实例详解,包括了python复制文件的方法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python复制文件的方法。分享给大家供大家参考。具体分析如下: 这里涉及Python复制文件在实际操作方案中的实际应用以及Python复制文件 的相关代码说明,希望你会有所收获。 Python复制文件: 测试文件夹.txt " 测试复制文件夹树 如果d