Node.js-找到值后读取流,然后关闭

时间:2018-10-26 16:43:03

标签: javascript node.js regex stream

所以我有一个想法,可以通过一个大文件中的流捕获一些数据。但是我不想将所有这些数据捕获到内存中。所以我想做的是打开一个流,直到找到一个匹配项,再说一个ClassName {类的开始。然后,在发现}结尾之后,关闭流并停止阅读。然后返回所有已捕获的数据。

我当时正在考虑使用变压器,但是我还不太想知道如何找到特定的字符串。我可以将当​​前找到的数据放入内存,并继续检查是否匹配?但这似乎不太正确,我认为可能还有其他我无法在规范中找到的解决方案。如果有人可以指出正确的方向,那我将很高兴编写代码。

1 个答案:

答案 0 :(得分:1)

我认为您可以创建一个返回诺言的函数。然后,我可能会使用Readline interface逐行获取文件,扫描每行以寻找所需内容的开头和结尾。当您收到要查找的内容的结尾时,可以在文件上调用.close(),然后使用收集的结果来解决承诺。