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
)
相关文章
- Nodejs 内容管理系统 DoraCMS 2.1.7 发布
- 什么是Upstream?
- Nodejs 内容管理系统 DoraCMS 2.1.6 发布
- Visual Studio Online 更新!更好支持Docker、Python、Go、C++
- 利用 html2canvas 生成文章缩略图
- 纪录片《穹顶之下》全集103分钟1080P高清完整视频
- DoraCMS v2.1.5 版本更新
- DoraCMS v2.1.2 Docker 版本(生产环境)
- Nodejs 内容管理系统 DoraCMS 2.1.4 发布
- DoraCMS 插件化探索(一)
- DoraCMS 2.1.4 关于 '指定用户' 功能的优化说明
- DoraCMS 2.1.4 (发布版非源码) 抢先体验