Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8866

Node.jsで巨大なファイルを読み込む場合

$
0
0

Node.jsでファイルを読み込む場合、以下のようなコードを書く。

list.txt
りんご
ごりら
らっぱ
constfs=require("fs");consttext=fs.readFileSync("list.txt");

readFileSyncは関数実行時にファイル全量を読み取りメモリに展開するので、list.txtがPCのメモリより巨大なファイルの場合にメモリエラーとなってプログラムが落ちる。

createReadStreamで小分けにして少しずつ読みだすことでメモリエラーを防げる。

constfs=require("fs");conststream=fs.createReadStream("list.txt",{highWaterMark:1024});stream.on("data",(chunk)=>{console.log(chunk.toString("utf8"));});

Viewing all articles
Browse latest Browse all 8866

Trending Articles