我以前从来没有这样做过,所以这可能是非常基本的事情,但我想我还是会问。
在 Node.js 中读取一个非常大的文件的正确方法是什么?假设文件太大而无法一次读取。还说文件可以以 a.zip
或.tar.gz
格式出现。
第一个问题,最好先解压缩文件并将其保存到磁盘(我现在在 Mac 上使用 Stuffit 来执行此操作),然后使用该文件?或者您可以直接从压缩.zip
或.tar.gz
版本中读取 IO 流吗?我想你需要知道压缩文件中内容的格式,所以你可能需要解压缩(刚刚发现这个.tar.gz
文件实际上是一个.dat
文件)......
那么主要问题是,如何在 Node.js 中读取这个大文件?假设它是一个 1GB 的 XML 文件,我应该从哪里开始解析它?(不是,如何解析 XML,但如果您正在逐行读取大文件,您如何解析需要了解前几行上下文的 XML 之类的内容)。
我见过fs.createReadStream
,但我害怕乱来......不想爆炸我的电脑。只是在正确的方向上寻找一些指示。