我正在使用 nodejs
读取一个非常大的 csv 文件,但我不想将它们全部读入内存。下面是我的代码:
const s = fs
.createReadStream(url, {
flags: 'r',
encoding: 'utf-8',
fd: null,
bufferSize: 1
})
.pipe( // what should I do here )
我不知道在 pipe
方法中要做什么。根据nodejs文档https://nodejs.org/api/stream.html#stream_read_pipe_destination_options
,它需要一个Writable实例。我想知道是否可以将自定义逻辑作为可写的?
最佳答案
抱歉。
还没有 50 点声誉来发表评论。
可以写入多个内置函数和文件。
https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options
也就是说,您应该查看一下 API。
https://nodejs.org/api/stream.html#stream_implementing_a_writable_stream
您可以在其中处理 block
。
_write(chunk, encoding, callback) {
if (chunk.toString().indexOf('a') >= 0) {
callback(new Error('chunk is invalid'));
} else {
callback();
}
}
关于node.js - 如何自定义管道目标来解析读取流中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49446005/