Rumah > hujung hadapan web > tutorial js > Node kajian NodeJS fail FS module_node.js

Node kajian NodeJS fail FS module_node.js

WBOY
Lepaskan: 2016-05-16 16:20:32
asal
1020 orang telah melayarinya

1, analisis pembukaan

Modul sistem fail ialah pembungkus ringkas untuk satu set kaedah operasi I/O fail POSIX standard. Modul boleh diperolehi dengan memanggil require("fs"). Semua kaedah dalam modul sistem fail mempunyai versi tak segerak dan segerak.

(1), kaedah tak segerak dalam modul sistem fail memerlukan fungsi panggil balik penyelesaian sebagai parameter rasmi masuk terakhir.

(2), komposisi fungsi panggil balik ditentukan oleh kaedah tak segerak yang dipanggil Biasanya, parameter rasmi pertama fungsi panggil balik ialah maklumat ralat yang dikembalikan.

(3), jika operasi tak segerak dilaksanakan dengan betul dan dikembalikan, parameter ralat akan menjadi batal atau tidak ditentukan. Jika anda menggunakan versi segerak kaedah operasi, jika ralat berlaku, ralat akan dikembalikan dalam bentuk ralat lontaran biasa.

(4), anda boleh menggunakan penyataan try and catch untuk memintas ralat dan membenarkan atur cara diteruskan.

Mari kita lihat contoh mudah dahulu, membaca fail ("bb.txt"):

(1), cipta fail "bb.txt" dengan kandungan berikut ("Hello semua, saya Nobita! (*^__^*) Hee hee...").

(2), operasi membaca fail adalah seperti berikut:

Salin kod Kod adalah seperti berikut:

var fs = memerlukan("fs") ;
fs.readFile("bb.txt","utf8",fungsi (ralat,data){
If(error) throw error ;
console.log(data) ;
}) ;

Hasil jalankan:

Apa yang perlu diperhatikan di sini ialah: pengekodan mesti ditetapkan semasa membaca fail, jika tidak, ia akan muncul dalam bentuk "penampan" secara lalai.

Melihat kepada kesan berjalan tanpa tetapan, perbezaannya masih jelas. Seperti berikut:

Mari kita lakukan operasi tulis yang lain, seperti berikut:

Salin kod Kod adalah seperti berikut:

var fs = memerlukan("fs") ;
var txt = "Semua orang harus mempelajari NodeJS dengan baik!!!" //Tulis fail
fs.writeFile("bb.txt",txt,fungsi (err) {
Jika (err) membuang err ;
console.log("Fail Disimpan !"); //Fail disimpan
}) ;

Hasil jalankan:

Menyenaraikan beberapa contoh yang biasa digunakan:

Salin kod Kod adalah seperti berikut:
// Padam fail
fs.unlink('bb.txt', function(){
console.log('berjaya') ;
}) ;
// Ubah suai nama fail
fs.rename('bb.txt','bigbear.txt',function(err){
console.log('namakan semula kejayaan') ;
});
// Semak status fail
fs.stat('bb.txt', fungsi(err, stat){
console.log(stat);
});
// Tentukan sama ada fail itu wujud
fs.exists('bb.txt', function( wujud ){
console.log( wujud ) ;
}) ;

2. Sambungan antara Fs dan Strim

"Strim" mempunyai ciri tak segerak. Kami boleh membahagikan fail atau sekeping kandungan kepada "ketulan" yang tidak diketahui dengan saiz yang ditentukan untuk bacaan, dan setiap kali "ketulan" dibaca, kami mengeluarkannya. sehingga fail dibaca. Ini seperti "Pengekodan Pemindahan: chunked" disokong oleh "http1.1". ("chunk" boleh wujud dalam sebarang bentuk, NodeJS wujud dalam bentuk "Buffer" secara lalai, yang lebih cekap). "Stream" dalam NodeJS mempunyai ciri super pada sistem Unix ("paip" ------ paip).

Adakah anda masih ingat program NodeJS pertama dalam "Artikel modul Http", "Hello, Big Bear!"? Mari buat beberapa pengubahsuaian berdasarkan program kecil itu, seperti berikut:

(1), buat "bb.html"

Salin kod Kod adalah seperti berikut: