做前端开发的童鞋都知道,js是运行在浏览器沙盒
环境之中,所以客户端
的js没有权限操作磁盘文件。但是强大的nodeJS
作为服务器端语言,原生自带文件系统(fs 模块)
,可以很轻松对文件进行CRUD
。 本章就是讲述使用nodejs对文件进行拷贝复制
操作。
1. copyFile
异步API:fs.copyFile(src, dest[, mode], callback) 异步API:fs.copyFileSync(src, dest[, mode])
提示: 默认情况下将创建或覆盖
// 异步
fs.copyFile('./src/index.js','./dist/index.js',function(err){
if(err) console.log(err)
else console.log('copy file succeed');
})
// 同步
fs.copyFileSync('01/test.txt', '02/test.txt');
console.log('copy success');
2. readFile、writeFile
fs.readFile('./src/index.js',function(err,data){
if(err) throw new Error(err);
fs.writeFile('./dest/index.js',data,function(err){
if(err) throw new Error(err);
})
})
3. createReadStream、read、write
var file = createReadStream('./src/index.js');
var out = createWriteStream('./dist/index.js');
file.on('data',function(data){
out.write(data)
});
file.on('end',function(){
out.end();
})
4. pipe
let file = createReadStream('./src/index.js');
let out = createWriteStream('./dist/index.js');
file.pipe(out);
5. cp-file
- 安装
$ npm install cp-file
- 使用
const cpFile = require('cp-file');
(async () => {
await cpFile('source/unicorn.png', 'destination/unicorn.png');
console.log('File copied');
})();
- 参考文档:
- http://nodejs.cn/api/fs.html
- https://www.npmjs.com/package/cp-file
欢迎访问:个人博客地址