2012-01-07 12 views

Odpowiedz

15

fs.open i fs.write są dla dostępu niskopoziomowego, podobny do tego, co można uzyskać, jeśli kod w C fs.open otwiera plik i fs.write pisze do niego.

fs.WriteStream jest strumień, który otwiera plik w tle i kolejek pisze, dopóki plik jest gotowy. Ponadto, implementując strumień API, można go używać w bardziej ogólny sposób, podobnie jak strumień sieciowy. Będziesz na przykład chcesz to zrobić, gdy użytkownik przesyła plik na serwer - prześlij przychodzący strumień HTTP POST, pipe() do WriteStream. Bardzo łatwe.

fs.writeFile jest metodą wysokiego szczebla do pisania pęczek danych masz w pamięci RAM do pliku. Nie obsługuje przesyłania strumieniowego, więc jest to zły pomysł na duże pliki lub materiały krytyczne pod względem wydajności. Będziesz tego chciał, jeśli wypiszesz małe pliki JSON lub tak w swoim kodzie.

+0

Dziękuję bardzo za wyjaśnienie! – Yijinsei

+0

Więc 'WriteStream' będzie szybszy niż nawet' write'? – 3zzy

+0

@ 3zzy Przesyłane strumieniowo transmisje danych są z natury wolniejsze, ponieważ są obsługiwane w porcjach, jednak są przyjazne w pamięci RAM (ponieważ nie wymaga się całego pliku w pamięci). – Tobiq

Powiązane problemy