use*_*082 4 archive extraction node.js
var targz = require('tar.gz');
var extract = new targz().extract(targzFile , destnDir, function(err){
if(err)
console.log(err);
console.log('The extraction has ended :'+counter);
});
Run Code Online (Sandbox Code Playgroud)
上面的代码将targzFile提取到destnDir,但是我想从targzFile中提取单个文件。
提前致谢。
小智 6
对于对答案感兴趣的任何人,都可以使用stream和tar-stream模块。这是一个完整的示例,该示例从存档archive.tar.gz中提取了一个名为documents.json的文件:
var tar = require('tar-stream');
var fs = require('fs');
var zlib = require('zlib');
var extract = tar.extract();
var data = '';
extract.on('entry', function(header, stream, cb) {
stream.on('data', function(chunk) {
if (header.name == 'documents.json')
data += chunk;
});
stream.on('end', function() {
cb();
});
stream.resume();
});
extract.on('finish', function() {
fs.writeFile('documents.json', data);
});
fs.createReadStream('archive.tar.gz')
.pipe(zlib.createGunzip())
.pipe(extract);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4609 次 |
| 最近记录: |