Bagaimana untuk Berinteraksi Dengan Deskriptor Fail dalam Node.js?

Bagaimana Untuk Berinteraksi Dengan Deskriptor Fail Dalam Node Js



Dalam Node.js, ' deskriptor fail ” hanyalah indeks integer bukan negatif dalam jadual deskriptor fail. Jadual deskriptor fail ialah tatasusunan dalam ' PCB(Blok Kawalan Proses) ” yang menyimpan rekod semua proses sistem pengendalian. Ia bertindak sebagai rujukan fail yang dibuka yang digunakan untuk mengenal pasti atau mengakses fail yang dibuka dengan mudah dalam sistem pengendalian. Sebaik sahaja fail yang dibuka diakses melalui ' deskriptor fail ” maka pengguna boleh melakukan operasi yang dikehendaki padanya mengikut keperluan.

Tulisan ini akan menunjukkan cara pengguna boleh berinteraksi dengan deskriptor fail dalam Node.js.







Bagaimana untuk Berinteraksi Dengan Deskriptor Fail dalam Node.js?

Pengguna boleh berinteraksi dengan deskriptor fail dengan cara mendapatkannya semula dengan bantuan kaedah pra-takrif yang dinyatakan di bawah bagi ' fs ” modul:



Mari kita huraikan kaedah ini satu persatu.



Kaedah 1: Gunakan 'fs.open()' untuk Mendapatkan Deskriptor Fail

' fs.terbuka ()” ialah kaedah yang paling biasa digunakan bagi fs ” modul yang membuka fail secara tidak segerak untuk melaksanakan beberapa operasi seperti membaca, menulis, menamakan semula, mengemas kini dan memadamnya. Selain itu, ia juga mengembalikan ' deskriptor fail ” selepas melakukan operasi yang ditentukan pada fail yang dibuka melalui fungsi panggil balik.





Sintaks

Sintaks asas ' fs.terbuka ()” kaedah ditulis di bawah:

fs. buka ( nama fail , bendera , mod , panggil balik )

Menurut sintaks yang dinyatakan di atas, ' fs.terbuka ()” kaedah menyokong parameter berikut:



  • nama fail : Ia menentukan nama serta laluan fail tertentu yang ingin dibuka oleh pengguna.
  • bendera : Ia menandakan operasi yang akan dilakukan pada fail yang dibuka. Nilai lalainya ialah “r(read)” secara lalai.
  • mod : Ia menunjukkan kebenaran fail iaitu “ 0o666(boleh dibaca dan boleh ditulis) ” secara lalai.
  • panggil balik : Ia dilaksanakan selepas selesai “ fs.terbuka ()” kaedah. Ia menyokong ' silap ” parameter yang membuang ralat jika berlaku semasa pelaksanaan kaedah dan “data” parameter yang mengembalikan ' fd(penerangan fail) ” untuk mengakses fail yang dibuka.

Nilai Pulangan: ' fs.open() ” memberikan deskriptor fail sebagai nilai yang dikembalikan.

Bendera Tersedia Berbeza Digunakan Bersama Deskriptor Fail dalam Node.js

Semua jenis bendera yang ' fs.open() ” menyokong kaedah untuk melaksanakan operasi yang diingini pada fail yang dibuka disenaraikan di bawah:

Bendera Penerangan
Dalam Ia digunakan untuk menulis kandungan dalam fail terbuka, tanpa membentangkannya fail baharu akan dibuat.
w+ Ia digunakan untuk membuka fail untuk melaksanakan operasi baca dan tulis padanya.
wx Ia berfungsi sama seperti ' Dalam ”. Walau bagaimanapun, ia tidak mencipta fail yang ditentukan jika ia tidak terdapat dalam sistem fail.
wx+ Ia sama dengan ' w+ ” namun ia gagal jika fail itu tidak wujud.
r Ia membuka fail untuk membacanya dan juga mencipta fail baharu jika ia tidak ada.
r+ Ia membuka fail dalam mod boleh dibaca dan boleh ditulis.
rs+ Ia serentak membuka fail untuk melaksanakan tugas membaca dan menulis di atasnya.
a Ia membuka fail untuk menambahkan kandungannya.
a+ Ia membuka fail untuk membaca dan menambahkan kandungannya.
kapak Ia sama dengan ' a ” tetapi ia tidak mencipta fail baharu jika ia tidak terkini dalam sistem fail.
ax+ Ia berfungsi sama seperti ' a+ ” namun ia tidak mencipta fail baharu.

Selepas mendapat asas ' fs.terbuka ()” mari kita beralih kepada pelaksanaan praktikalnya untuk mendapatkan deskriptor fail.

Contoh: Menggunakan Kaedah 'fs.open()' untuk Mendapatkan Deskriptor Fail Dengan Bendera Lalai

Contoh ini menunjukkan terpakai “fs.open()” kaedah untuk membuka fail yang ditentukan untuk membaca dan mengembalikan deskriptor fail:

const fs = memerlukan ( 'fs' ) ;
adalah semula = fs. buka ( 'file.txt' , 'r' , fungsi ( silap , fd ) {
jika ( silap ) {
konsol. ralat ( silap ) ;
} lain {
konsol. log ( 'Fail Dibuka!' ) ;
konsol. log ( fd ) ; }
} ) ;

Penjelasan blok kod di atas adalah seperti berikut:

  • Pertama, ' memerlukan ()' kaedah mengimport ' fs(Sistem Fail) ” modul.
  • Seterusnya, ' fs.terbuka ()' kaedah menentukan nama folder yang dikehendaki, bendera lalai ' r ”, dan fungsi panggil balik sebagai argumen pertama, kedua dan ketiga masing-masing. Fungsi panggil balik seterusnya melepasi “ silap ' dan juga ' fd ” hujah. Kaedah ini membuka fail yang ditentukan untuk membaca dan kemudian melaksanakan fungsi panggil balik yang diberikan.
  • Dalam definisi fungsi panggil balik, ' jika pernyataan ” menggunakan “ console.error() ” kaedah untuk memaparkan mesej ralat yang berlaku semasa membuka fail yang ditentukan.
  • Jika tiada ralat berlaku, maka ' lain pernyataan ' akan dilaksanakan yang menggunakan ' konsol.log ()” kaedah untuk memaparkan mesej pengesahan dan “penerangan fail” yang dilambangkan dengan “ fd ” hujah.

Pengeluaran

Sekarang, melaksanakan pelaksanaan untuk mengandungi ' aplikasi .js” melalui:

apl nod. js

Output di bawah menunjukkan bahawa fail dibuka untuk dibaca dan juga mengembalikan deskriptor fail:

Kaedah 2: Gunakan 'fs.openSync()' untuk Mendapatkan Deskriptor Fail

' fs.openSync ()” ialah kaedah pra-takrif bagi “ fs ” modul yang membuka fail secara serentak untuk melaksanakan operasi biasa: seperti membaca, menulis, menamakan semula, mengemas kini dan memadamnya. Bersama dengan fungsi asasnya, kaedah ini mengembalikan ' deskriptor fail ” secara langsung dan bukannya menggunakan fungsi panggil balik seperti dalam “ fs.terbuka ()” kaedah.

Sintaks

fs. openSync ( laluan , bendera , mod )

Parameter yang digunakan di atas ' fs.openSync() ” kaedah diterangkan di bawah:

  • laluan : Ia menentukan nama dan laluan fail tertentu dalam bentuk rentetan, URL atau penimbal.
  • bendera : Ia menandakan rentetan atau nilai angka yang menentukan operasi yang akan dilakukan pada fail yang dibuka. Nilai lalainya ialah “r(read)” secara lalai.
  • mod : Ia menandakan kebenaran fail iaitu “ 0o666(boleh dibaca dan boleh ditulis) ” secara lalai.

Nilai Pulangan: ' fs.openSync() ” menyediakan integer sebagai nilai yang dikembalikan yang menandakan deskriptor fail.

Ikuti panduan terperinci kami mengenai ' Kaedah fs.openSync(). ” untuk pelaksanaan praktikal.

Kaedah 3: Gunakan 'fsPromise.open()' untuk Mendapatkan Deskriptor Fail

' fsPromises.open() ' ialah kaedah yang telah ditetapkan bagi ' fs ” modul yang secara tak segerak membuka fail sebagai janji dan mengembalikan “ deskriptor fail ”. Jika janji itu diselesaikan maka ia mengesahkan bahawa folder yang ditentukan dibuka jika tidak ia ditolak dengan objek ralat.

Sintaks

fsJanji. buka ( nama fail , bendera , mod )

' fsPromises.open ()” kaedah berfungsi pada tiga parameter berikut:

  • nama fail : Ia memberitahu nama fail tertentu dan laluan dalam bentuk rentetan, URL atau penimbal yang pengguna mahu baca secara lalai.
  • bendera : Ia mungkin rentetan atau nilai integer bukan negatif yang menentukan operasi untuk dilakukan pada fail yang dibuka. Nilai lalainya ialah “r(read)” secara lalai.
  • mod : Ia menentukan kebenaran fail iaitu “ 0o666(boleh dibaca dan boleh ditulis) ” secara lalai.

Nilai Pulangan: Ia memberikan ' janji ” sebagai nilai yang dikembalikan bagi “ fsPromises.open ()” kaedah.

Ikuti panduan terperinci kami mengenai ' Kaedah fsPromises.open(). ” untuk pelaksanaan praktikal.

Apakah Operasi Berbeza yang Boleh Dilakukan Dengan Deskriptor Fail dalam Node.js?

Setelah deskriptor fail diambil, pengguna boleh menggunakannya untuk mengakses fail tertentu untuk melaksanakan operasi yang berbeza padanya seperti buka, tutup, baca, tulis dan banyak lagi. Untuk melaksanakan operasi tertentu ini, ikuti panduan terperinci kami tentang “ Modul Sistem Fail ”.

Itu sahaja tentang berinteraksi dengan deskriptor fail dalam Node.js.

Kesimpulan

Untuk berinteraksi dengan deskriptor fail, gunakan ' fs.open()”, “fs.openSync() ', atau ' fsPromises.open() ” kaedah dalam Node.js. Semua kaedah ini membuka fail untuk melaksanakan operasi berbeza padanya yang ditentukan melalui ' bendera ” parameter dan juga kembalikan “ deskriptor fail ” yang merupakan rujukan fail yang dibuka. Tulisan ini telah menghuraikan cara berinteraksi dengan deskriptor fail dalam Node.js.