Rumah > Artikel > hujung hadapan web > nodejs penimbal kepada aliran fail
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');
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'));
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(); });
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!