Node.js には Stream というオブジェクトがあります。名前の通り、データストリームを扱うもので、Java や .NET にも同じようなクラスがあります。 Stream オブジェクトはデータをストリームとして扱いたいということに重宝します。 Stream の便利さ 例えば、ファイルの内容を別のファイルにコピーする場合、以下のようにファイルを全て読み込んでから全て書き込む方法があります。後述するように問題があるのですが、コードが非常に読みやすいというメリットがあります。 const text = fs.readFileSync('src.txt', 'utf8'); fs.writeFileSync('dest.txt', text); この方法はファイルを読み込んだり書き込んだりしている間は処理がブロッキングされてしまいます。特にウェブアプリの場合、ブロッキングされている間は他の
![Node.js Stream を使いこなす - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/d3400a214d8ec515961960b680db06131169f620/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9Tm9kZS5qcyUyMFN0cmVhbSUyMCVFMyU4MiU5MiVFNCVCRCVCRiVFMyU4MSU4NCVFMyU4MSU5MyVFMyU4MSVBQSVFMyU4MSU5OSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MjMzMzIyNzRiYTQ5NWY0YTMwNjBjOTM3NThiOTc1NTM%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbWFzYWt1cmEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTA4MTEwYjJhNTk3Mzk2N2E1NGJiZjQ5ZTg2MzJlYTdk%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D9b6b77a1b0844f771fe224c48bd425d5)