NodeJS文件夹复制
在开发模板安装过程中需要用到对指定路径下的文件夹复制到目标文件夹,nodejs的文件操作可以实现,原理很简单,通过读取流和写入流对文档进行操作,这里也用到了递归,并判断目标文件夹是否存在,不存在自动创建。
在开发模板安装过程中需要用到对指定路径下的文件夹复制到目标文件夹,nodejs的文件操作可以实现,具体代码如下:
//文件夹复制 copyForder : function(fromPath,toPath){ /* * 复制目录中的所有文件包括子目录 * @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() ){ // 创建读取流 readable = fs.createReadStream( _src ); // 创建写入流 writable = fs.createWriteStream( _dst ); // 通过管道来传输流 readable.pipe( writable ); } // 如果是目录则递归调用自身 else if( st.isDirectory() ){ exists( _src, _dst, copy ); } }); }); }); }; // 在复制目录前需要判断该目录是否存在,不存在需要先创建目录 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(fromPath,toPath,copy ); }
原理很简单,通过读取流和写入流对文档进行操作,这里也用到了递归,并判断目标文件夹是否存在,不存在自动创建。
很赞哦! ( 0
)
相关文章
- 第10天 cookie与session—实例演示
- 第10天 cookie与session— session插件开发
- 第10天 cookie与session— session插件分析
- 第9天response 响应渲染 —动态渲染实例
- 第9天response 响应渲染 —动态渲染插件开发
- 第9天response 响应渲染 —动态渲染插件分析
- 第9天response 响应渲染 —download插件开发
- 第9天response 响应渲染 —跳转插件开发
- 第9天response 响应渲染 —文本渲染插件开发
- 第8天 二进制文件上传—其它实现方式
- 第8天 二进制文件上传—原理解析
- 第8天 二进制文件上传—升级post.js插件