jestem trochę zdezorientowany między metodami 2, nadzieję, że ktoś mógłby mnie oświecić na różnych między fs.open->fs.write
, fs.writeFile
, fs.writeStream
.różnie fs.writeFile i fs.writeStream
Odpowiedz
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.
- 1. fs.writeFile() nie zwraca odpowiedzi zwrotnej
- 2. Błąd ENOENT podczas używania fs.writeFile
- 3. wget -k konwertuje pliki różnie na Windows i Linux
- 4. Kod C działający różnie na C++ przy wyszukiwaniu
- 5. JSF wyjściowy tekst warunkowy/stylizacja. Różnie w zależności od stanu
- 6. Wątki funkcji elastycznego wyszukiwania zachowują się różnie od siebie
- 7. Kolor punktów na wykresie różnie w zależności od wektora wartości
- 8. Dlaczego 3-cyfrowe wartości kodów kolorów szesnastkowych są różnie interpretowane w przeglądarce Internet Explorer?
- 9. Jak używać Jqplot do pokazywania dwóch grup różnie zabarwionych prętów na tym samym skumulowanym wykresie słupkowym
- 10. Select2 działa bardzo różnie z funkcją Uncaught query nie zdefiniowaną dla Select2 <select2-id>
- 11. Domyślny rozmiar i szerokość ramki tekstowej
- 12. Lisp format i siły wyjście
- 13. Odd i nawet numer porównanie pomocnik dla Kierownice
- 14. Node.js Base64 Dekodowanie obrazu i zapisywanie do pliku
- 15. Nie można zapisać zdalnego obrazu za pomocą pliku node.js i żądania
- 16. Niezgodne biblioteki openCV i libtiff na OSX
- 17. Node.js - Jak mogę edytować elementy w oknie jsdom i zapisać okno jako nowy plik HTML?
- 18. webkit-font-smoothing: nagle różne wyniki w chrome i safari
- 19. Confused o systemie plików node.js
- 20. Dlaczego Math.sqrt (i * i) .floor == i?
- 21. "İ" .toLowerCase()! = "I"
- 22. CSS "i" i "lub"
- 23. SVG i DPI, jednostki bezwzględne i jednostki użytkownika: Inkscape vs. Firefox vs. ImageMagick
- 24. Jak napisać plik, jeśli folder nadrzędny nie istnieje?
- 25. UILabel i numberOfLines i sizeToFit:
- 26. Jack i Jill i destinationDir
- 27. Szyny i przecinak i edytor
- 28. Różnica między (++ i) oraz (i ++)
- 29. SOX i zanikanie i zanikanie
- 30. Dlaczego "int i = i;" prawny?
Dziękuję bardzo za wyjaśnienie! – Yijinsei
Więc 'WriteStream' będzie szybszy niż nawet' write'? – 3zzy
@ 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