Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > nodejs penimbal kepada aliran fail

nodejs penimbal kepada aliran fail

王林
Lepaskan: 2023-05-25 12:16:37
asal
1649 orang telah melayarinya

Node.js ialah persekitaran berjalan JavaScript yang sangat popular kerana ia menjadikan JavaScript tersedia di mana-mana di bahagian pelayan. Dalam Node.js, kelas Penampan ialah kelas teras untuk memproses data binari. Contoh penimbal adalah universal dan boleh berubah Semasa memproses data dalam Node.js, anda selalunya perlu menukar Penimbal kepada strim fail, jadi adalah sangat penting untuk mempelajari cara menukar Penimbal kepada strim fail.

1. Apakah kelas Penampan?

Dalam Node.js, kelas Penampan digunakan untuk memproses data binari dan ia adalah objek global. Contoh penimbal adalah serupa dengan tatasusunan integer, tetapi ia adalah saiz tetap dan bait tunggal. Kelas Penampan menyediakan pelbagai kaedah untuk mengendalikan data binari. Sebagai contoh, anda boleh menggunakan kaedah slice() untuk mengekstrak sebahagian data daripada Penampan.

Kod berikut menunjukkan cara menggunakan Penampan untuk mencipta Penimbal yang mengandungi teks ascii:

const buf = new Buffer('hello world', 'ascii');
Salin selepas log masuk

2 Apakah itu strim fail?

Dalam Node.js, strim fail ialah strim yang boleh menulis dan membaca data ke fail. Strim fail menyediakan cara yang lebih cekap untuk memproses fail kerana keseluruhan fail tidak perlu dibaca ke dalam memori atau ditulis ke cakera. Sebaliknya, fail dipecahkan kepada bahagian kecil dan diproses menggunakan kaedah yang membolehkan anda mula bekerja tanpa menunggu semua bahagian selesai.

Node.js menyediakan beberapa API untuk mencipta dan memproses strim fail. Sebagai contoh, aliran fail boleh dibuat menggunakan kaedah fs.createReadStream(), manakala kaedah readstream.on('data') digunakan untuk membaca blok data.

3. Cara menukar Buffer kepada strim fail

Untuk menukar Penimbal kepada strim fail, anda perlu menggunakan modul fs dan strim dalam Node.js. Mula-mula, anda perlu mencipta strim fail boleh tulis dan kemudian sambungkannya ke strim fail yang boleh dibaca menggunakan kaedah pipe().

Berikut ialah contoh menukar Penimbal kepada strim fail:

const fs = require('fs');
const { PassThrough } = require('stream');

const buffer = new Buffer('hello world');
const stream = new PassThrough();

stream.end(buffer);

stream.pipe(fs.createWriteStream('hello.txt'));
Salin selepas log masuk

Kod di atas akan mencipta objek Penampan dan kemudian mencipta strim PassThrough yang boleh ditulis. Kemudian gunakan kaedah end() untuk menghantar objek Penampan sebagai parameter kepada strim, dan kemudian gunakan kaedah pipe() untuk menyambungkan strim yang terhasil kepada strim fail yang boleh dibaca. Akhir sekali, kaedah fs.createWriteStream() digunakan untuk mencipta aliran fail boleh tulis dan menulis data ke dalam fail hello.txt.

4. Cara mengendalikan blok data dalam aliran fail

Selepas menyambung dan memulakan strim fail baca dan tulis, anda boleh menggunakan kaedah readstream.on('data') untuk membaca data blok aliran fail dan kemudian memprosesnya. Sebagai contoh, anda boleh menggunakan kaedah stream.write() untuk menulis blok data ke aliran boleh tulis yang lain.

Berikut ialah contoh kod untuk memproses ketulan data dalam strim fail:

const fs = require('fs');
const { PassThrough } = require('stream');

const buffer = new Buffer('hello world');
const readstream = new PassThrough();

readstream.end(buffer);

const writestream = fs.createWriteStream('hello.txt');

readstream.on('data', chunk => {
  writestream.write(chunk);
});

readstream.on('end', () => {
  console.log('Finished writing to file');
  writestream.end();
});
Salin selepas log masuk

Kod di atas mencipta strim fail yang boleh dibaca menggunakan strim PassThrough. Ia menulis ketulan data menggunakan writeStream dan menamatkan strim melalui kaedah end() selepas semua ketulan telah diproses. Akhir sekali, kod tersebut mencetak mesej kejayaan "Selesai menulis ke fail".

5. Kesimpulan

Dalam Node.js, kelas Buffer ialah kelas teras untuk memproses data binari. Menukar Penampan kepada aliran fail ialah cara yang lebih cekap untuk mengendalikan data fail. Dengan menggunakan modul fs dan strim dalam Node.js, anda boleh mencipta strim fail yang boleh dibaca dan boleh ditulis serta menyambungkannya menggunakan kaedah pipe(). Anda kemudiannya boleh menggunakan kaedah readstream.on('data') untuk membaca ketulan data daripada aliran fail dan memprosesnya menggunakan writeStream atau cara lain. Mempelajari dan menggunakan Node.js akan membawa hasil yang lebih cekap kepada pembangunan web.

Atas ialah kandungan terperinci nodejs penimbal kepada aliran fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan