Bagaimana untuk Menggunakan Strim Boleh Dibaca dalam Node.js?

Bagaimana Untuk Menggunakan Strim Boleh Dibaca Dalam Node Js



Data dipindahkan melalui rangkaian antara penghantar atau sumber dan destinasi atau sisi penerima dalam bentuk aliran. Strim ini boleh dibuat dan digabungkan dengan penggunaan beberapa kaedah, dan fail audio atau video boleh dihantar ke atas strim juga. Data yang dibaca boleh dimasukkan ke dalam fail sasaran lain menggunakan ' tulis() ” dan “ tolak() ” kaedah juga.

Panduan ini akan menerangkan penggunaan strim boleh dibaca dalam Node.js.

Bagaimana untuk Menggunakan Strim Boleh Dibaca dalam Node.js?

' Boleh dibaca ' strim dicipta dengan menggunakan ' createReadStream() ” dan data yang dibaca kemudiannya boleh dipaparkan melalui halaman web dengan mencipta pelayan tempatan. Pendengar acara dengan bantuan ' pada() ” kaedah juga boleh dilampirkan pada strim boleh dibaca untuk memaparkan mesej atau melakukan tindakan tertentu apabila bacaan fail bermula atau tamat.







Sila lihat contoh untuk demonstrasi praktikal.



Contoh: Membaca dan Memaparkan Kandungan Melalui Pelayan Menggunakan Strim Boleh Dibaca

Dalam contoh ini, kandungan fail yang disediakan sedang dibaca dan kemudian dipaparkan pada penyemak imbas web:



const fsObj = memerlukan ( 'fs' ) ;

const httpObj = memerlukan ( 'http' ) ;

const localServer = httpObj. createServer ( ( permintaan, jawapan ) => {

cubalah {
// Fail Sasaran untuk Dibaca
const dataStream = fsObj. buatReadStream ( 'usecase.txt' ) ;
// Paipkan fail ke respons
dataStream. paip ( tindak balas ) ;
} tangkap ( kesilapan ) {
konsol. ralat ( kesilapan ) ;
}
} ) ;

localServer. dengar ( 8080 , ( ) => {
konsol. log ( 'Pelayan Berjalan pada Nombor Port Localhost: '8080' ' )
} ) ;

Penerangan kod di atas adalah seperti berikut:





  • Pertama, import ' yang diperlukan fs ” dan “ http modul ' dan simpan objeknya dalam ' fsObj ” dan “ httpObj ” pembolehubah masing-masing.
  • Seterusnya, pelayan telah dibuat dengan menggunakan ' createServer() ' kaedah dan menyimpan pelayan yang baru dibuat ini dalam ' localServer ” pembolehubah.
  • Kemudian, gunakan ' cubalah ” blok di dalam fungsi panggil balik kaedah dan panggil “ createReadStream() ' kaedah menggunakan ' fsObj ” pembolehubah.
  • Lulus kandungan fail yang disasarkan yang perlu dibaca di dalam kurungan kaedah ini dan simpan hasilnya dalam ' dataStream ” pembolehubah.
  • Masukkan “ dataStream ” pembolehubah ke dalam “ .pipe() ” kaedah untuk menghantar respons.
  • Gunakan ' tangkap ” blok untuk mengendalikan sebarang ralat yang berlaku.
  • Akhir sekali, dengar atau sediakan pelayan melalui nombor port “ 8080 ” dan paparkan mesej kejayaan dengan bantuan fungsi panggil baliknya.

Jalankan fail yang mengandungi(controlFlow.js) kod di atas yang melalui arahan yang dinyatakan di bawah:

nod controlFlow. js

Output yang dihasilkan menunjukkan bahawa dengan bantuan ' .pipe() ” dan “ Strim Boleh Dibaca ”, data fail telah dibaca dan dihantar ke strim destinasi untuk dipaparkan melalui halaman web:



Contoh 2: Membaca Fail Statik Secara Setempat Menggunakan ReadStream

Dalam kes ini, fail yang disediakan di atas strim dipilih dan kandungannya kemudiannya dipaparkan pada tetingkap konsol dengan bantuan pendengar acara:

const fsObj = memerlukan ( 'fs' ) ;

const streamObj = fsObj. buatReadStream ( 'usecase.txt' ) ;

streamObj. pada ( 'data' , ( kandungan ) => {

konsol. log ( kandungan. menjalin ( ) ) ;

} ) ;

streamObj. pada ( 'akhir' , ( ) => {

konsol. log ( ' \n Selesai membaca fail.' ) ;

} ) ;

streamObj. paip ( proses. stdout ) ;

Penerangan kod di atas adalah seperti berikut:

  • Pertama, ' fs ' modul diimport dan objeknya disimpan dalam ' fsObj ” pembolehubah.
  • Seterusnya, menggunakan “ fsObj ” menyeru “ createReadStream() ” kaedah dan melepasi laluan fail sasaran yang kandungannya perlu diambil semula. Simpan hasil kaedah dalam pembolehubah baharu “ streamObj ”.
  • Lampirkan ' pada() ' kaedah dengan 'streamObj' yang menggunakan fungsi panggil balik apabila ' data ” diambil semula. Data yang diambil dihantar sebagai parameter untuk fungsi panggil balik yang menukar data ke dalam format Rentetan dan memaparkannya di atas konsol.
  • Lampirkan sekali lagi ' pada() ' kaedah dengan ' streamObj ” dan kali ini fungsi panggil baliknya memaparkan mesej tamat apabila bacaan fail selesai.

Output yang dijana selepas melaksanakan kod di atas menunjukkan bahawa data yang dibaca sepanjang mesej berakhir telah dipaparkan pada konsol:

Itu sahaja tentang penggunaan strim boleh dibaca dalam Node.js.

Kesimpulan

Untuk bekerja dengan strim boleh dibaca dalam Node.js, kaedah “ createReadStream() ” dipanggil melalui “ fs ” objek modul. Laluan fail yang disasarkan di mana kandungan perlu ditulis kemudiannya diluluskan sebagai parameter kaedah. Ia boleh digunakan dengan ' .pipe() ” kaedah untuk melaksanakan tugas selanjutnya ke atas data yang diambil seperti menulis kandungan dalam fail lain. Siaran ini telah menggambarkan prosedur bekerja dengan strim boleh dibaca.