我從來沒有這樣做過,所以這可能是一些非常基本的東西,但我想我會問。如何在Node.js中讀取非常大(> 1GB)的tar.gz文件?
什麼是正確的方式來讀取Node.js中的一個非常大的文件?假設文件太大而無法一次全部讀取。也可以說文件可以作爲.zip
或.tar.gz
格式進入。
第一個問題,最好先解壓文件並保存到磁盤(我現在在Mac上使用Stuffit來做這個),然後使用該文件?或者,您是否可以直接從壓縮的.zip
或.tar.gz
版本讀取IO流?我想你需要知道壓縮文件中的內容格式,所以你可能需要解壓縮(剛纔發現這個.tar.gz
文件實際上是一個.dat
文件)...
然後主要問題是,如何在Node.js中讀取這個大文件?假設它是一個1GB的XML文件,我應該在哪裏開始解析它? (不是,如何解析XML,但是如果您正在逐行閱讀大文件,那麼您如何解析XML等需要了解前面行的上下文的東西)。
我看過fs.createReadStream
,但是我怕弄亂它...不想爆炸我的電腦。只是在正確的方向尋找一些指針。
你想用它做什麼? –
怎麼樣,假設它是一個非常大的CSV,我只是想爲每一行創建一個數據庫記錄。 –
您有兩個問題:1.是否有用於節點的流式zip文件閱讀器,以及2.是否有流式XML讀取器(可以使用第一個流作爲輸入)。不知道有哪些選項可以幫助您搜索... – Joe