Node.js复制文件的方法示例
2016-12-29 11:35
701 查看
本文实例讲述了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中实现文件复制的方法和实例
- Node.js利用console输出日志文件的方法示例
- 在Node.js中实现文件复制的方法和实例
- 在Node.js中实现文件复制的方法和实例
- node.js express安装及示例网站搭建方法(分享)
- Node.js模拟浏览器文件上传示例
- node.js文件的复制,创建文件夹等相关操作
- Node.js本地文件操作之文件拷贝与目录遍历的方法
- Node.js中.pfx后缀文件的处理方法
- Node.js读写文件之批量替换图片的实现方法
- Node.js读取文件内容示例
- Nodejs Express下引入本地文件的方法
- 在Node.js中使用HTTP上传文件的方法
- node.js实现回调的方法示例
- Node.js发送HTTP客户端请求并显示响应结果的方法示例
- Selenium示例集锦--常见元素识别方法、下拉框、文本域及富文本框、鼠标操作、一组元素定位、弹窗、多窗口处理、JS、frame、文件上传和下载
- Node.js学习开始了——事件流的控制/文件读写事件的的方法
- node.js读取文件到字符串的方法
- Node.js写文件的三种方法
- Node.js文件操作方法汇总