- 以传统读写流方式复制大文件
var fs = require('fs');
var s1 = fs.createReadStream(pathname);
var s2 = fs.createWriteStream(pathname);
// 以流的方式读一段写一段
s1.on('data', function(data){
s2.write(data);
})
// 读取完成既写入完成
s1.on('end', function(){
s2.end();
})
- 以管道形式复制大文件
var fs = require('fs');
var s1 = fs.createReadStream(pathname);
var s2 = fs.createWriteStream(pathname);
s1.pipe(s2); // 完成
大文件压缩(链式流)
var fs = require('fs');
var zlib = require('zlib');
// 读取文件流
var s1 = fs.createReadStream(pathname);
// 写入文件流
var s2 = fs.createWriteStream(pathname); // 此pathname需要加上后缀pathname.zip(.zip后缀)
// 从s1中读取文件,经过zlib压缩后塞入s2中,实现大文件复制压缩
s1.pipe(zlib.createGzip()).pipe(s2);
网友评论