我尝试使用节点中的流来读取某些.gz
日志文件的内容。
我已经开始使用:fs.createReadStream('log.gz').pipe(zlib.createUnzip()
了。
这可行,我可以通过管道process.stdout
进行验证。我想管道这个新的writeableStream,我可以有一个data
事件来实际处理内容。我想我只是不完全理解流是如何工作的。我尝试创建一个新的可写流var writer = fs.createWriteStream()
,但这不起作用,因为它需要一个路径。
我有什么想法可以这样做(没有创建任何其他文件要写)?
答案 0 :(得分:0)
var unzipStream = zlib.createUnzip()
unzipStream.on('data', myDataHandler).on('end', myEndHandler)
fs.createReadStream('log.gz').pipe(unzipStream)
这将为您提供data
和end
个活动。由于它是日志数据,您还可以找到split逐行获取事件。