Paano Makipag-ugnayan sa Mga Deskriptor ng File sa Node.js?

Paano Makipag Ugnayan Sa Mga Deskriptor Ng File Sa Node Js



Sa Node.js, ang “ deskriptor ng file Ang ” ay isang hindi negatibong integer index sa talahanayan ng descriptor ng file. Ang talahanayan ng deskriptor ng file ay isang array sa loob ng “ PCB(Process Control Block) ” na nagpapanatili ng mga talaan ng lahat ng proseso ng isang operating system. Ito ay gumaganap bilang sanggunian ng isang binuksan na file na ginagamit upang makilala o ma-access ang isang bukas na file nang madali sa isang operating system. Sa sandaling ma-access ang binuksan na file sa pamamagitan ng ' deskriptor ng file ” pagkatapos ay maisagawa ng user ang nais na operasyon dito ayon sa mga kinakailangan.

Ipapakita ng write-up na ito kung paano maaaring makipag-ugnayan ang user sa mga descriptor ng file sa Node.js.







Paano Makipag-ugnayan sa Mga Deskriptor ng File sa Node.js?

Ang user ay maaaring makipag-ugnayan sa mga file descriptor sa paraang makuha ang mga ito sa tulong ng mga nakasaad sa ibaba na paunang natukoy na mga pamamaraan ng ' fs ” module:



Isa-isahin natin ang mga pamamaraang ito.



Paraan 1: Gamitin ang “fs.open()” para Kumuha ng File Descriptor

Ang ' fs.bukas ()' ay ang pinakakaraniwang ginagamit na paraan ng ' fs ” module na asynchronous na nagbubukas ng file para sa pagsasagawa ng ilang operasyon tulad ng pagbabasa, pagsusulat, pagpapalit ng pangalan, pag-update, at pagtanggal nito. Bukod dito, nagbabalik din ito ng ' deskriptor ng file ” pagkatapos isagawa ang tinukoy na operasyon sa binuksan na file sa pamamagitan ng callback function.





Syntax

Ang pangunahing syntax ng ' fs.bukas ()' na paraan ay nakasulat sa ibaba:

fs. bukas ( filename , mga watawat , mode , callback )

Ayon sa nabanggit na syntax sa itaas, ang ' fs.bukas ()' na pamamaraan ay sumusuporta sa mga sumusunod na parameter:



  • filename : Tinutukoy nito ang pangalan pati na rin ang path ng partikular na file na gustong buksan ng user.
  • mga watawat : Tinutukoy nito ang mga operasyon na isasagawa sa binuksan na file. Ang default na halaga nito ay 'r(read)' bilang default.
  • mode : Ipinapahiwatig nito ang mga pahintulot ng file na ' 0o666(parehong nababasa at nasusulat) ” bilang default.
  • callback : Isinasagawa ito pagkatapos makumpleto ang “ fs.bukas ()” paraan. Sinusuportahan nito ang ' magkamali ” parameter na nagtatapon ng error kung nangyari sa panahon ng pagpapatupad ng pamamaraan at ang “data” parameter na nagbabalik ng ' fd(file descriptor) ” para ma-access ang binuksan na file.

Halaga ng Pagbabalik: Ang ' fs.open() ” ay nagbibigay ng isang file descriptor bilang ibinalik na halaga nito.

Iba't Ibang Magagamit na Flag na Ginagamit Kasama ng Mga Deskriptor ng File sa Node.js

Lahat ng uri ng watawat na ' fs.open() ” paraan na sumusuporta para sa pagsasagawa ng nais na mga operasyon sa binuksan na file ay nakalista sa ibaba:

Mga bandila Paglalarawan
Sa Ito ay ginagamit upang isulat ang nilalaman sa isang bukas na file, nang hindi ipinapakita ito ng isang bagong file ay malilikha.
w+ Ito ay ginagamit upang buksan ang file upang magsagawa ng mga operasyon sa pagbasa at pagsulat dito.
wx Ito ay gumagana katulad ng ' Sa ”. Gayunpaman, hindi ito lumilikha ng tinukoy na file kung wala ito sa file system.
wx+ Ito ay kapareho ng ' w+ ” gayunpaman ito ay nabigo kung ang file ay hindi umiiral.
r Binubuksan nito ang file upang basahin ito at lumilikha din ng bagong file kung wala ito.
r+ Binubuksan nito ang file sa nababasa at nasusulat na mode.
rs+ Ito ay sabay-sabay na nagbubukas ng isang file upang maisagawa ang mga gawain ng pagbabasa at pagsusulat dito.
a Binubuksan nito ang file para sa pagdaragdag ng nilalaman nito.
a+ Binubuksan nito ang file para sa pagbabasa at pagdaragdag ng nilalaman nito.
palakol Ito ay kapareho ng ' a ” ngunit hindi ito gumagawa ng bagong file kung hindi ito bago sa file system.
palakol+ Ito ay gumagana katulad ng ' a+ ” gayunpaman hindi ito gumagawa ng bagong file.

Matapos makuha ang mga pangunahing kaalaman sa ' fs.bukas ()' na pamamaraan ay lumipat tayo sa praktikal na pagpapatupad nito upang makuha ang descriptor ng file.

Halimbawa: Paglalapat ng Paraang “fs.open()” para Kumuha ng File Descriptor na May Default na Flag

Ipinapakita ng halimbawang ito na nalalapat ang “fs.open()” paraan upang buksan ang tinukoy na file para sa pagbabasa at pagbabalik ng file descriptor:

const fs = nangangailangan ( 'fs' ) ;
ay res = fs. bukas ( 'file.txt' , 'r' , function ( magkamali , fd ) {
kung ( magkamali ) {
console. pagkakamali ( magkamali ) ;
} iba pa {
console. log ( 'Nabuksan ang File!' ) ;
console. log ( fd ) ; }
} ) ;

Ang paliwanag ng bloke ng code sa itaas ay ang mga sumusunod:

  • Una, ang ' nangangailangan ()' na paraan ay nag-import ng ' fs(File System) ” modyul.
  • Susunod, ang ' fs.bukas ()' na pamamaraan ay tumutukoy sa nais na pangalan ng folder, default na bandila ' r ”, at isang callback function bilang una, pangalawa, at pangatlong argument nito ayon sa pagkakabanggit. Ang callback function ay higit na ipinapasa ang ' magkamali ' at ang ' fd ” mga argumento. Binubuksan ng paraang ito ang tinukoy na file para sa pagbabasa at pagkatapos ay ipapatupad ang ibinigay na function ng callback.
  • Sa kahulugan ng callback function, isang “ kung 'Ang pahayag ay gumagamit ng ' console.error() ” paraan upang ipakita ang mensahe ng error na nangyayari habang binubuksan ang tinukoy na file.
  • Kung walang error na nangyari, pagkatapos ay ang ' iba pa 'Ipapatupad ang pahayag na gumagamit ng ' console.log ()' para ipakita ang mensahe ng pagpapatunay at ang 'file descriptor' na tinutukoy ng ' fd ” argumento.

Output

Ngayon, nagsasagawa ng pagpapatupad para sa naglalaman ng ' app .js” na file sa pamamagitan ng:

node app. js

Ang output sa ibaba ay nagpapakita na ang file ay binuksan para sa pagbabasa at ibinabalik din ang file descriptor:

Paraan 2: Gamitin ang “fs.openSync()” para Kumuha ng File Descriptor

Ang ' fs.openSync ()' ay ang paunang natukoy na paraan ng ' fs ” module na sabay-sabay na nagbubukas ng file upang magsagawa ng mga karaniwang operasyon: tulad ng pagbabasa, pagsulat, pagpapalit ng pangalan, pag-update, at pagtanggal nito. Kasama ang pangunahing pag-andar nito, ang pamamaraang ito ay nagbabalik ng ' deskriptor ng file ” nang direkta sa halip na gamitin ang callback function tulad ng sa “ fs.bukas ()” paraan.

Syntax

fs. openSync ( landas , mga watawat , mode )

Ang mga parameter na ginamit sa itaas ' fs.openSync() ” ang pamamaraan ay ipinaliwanag sa ibaba:

  • landas : Tinutukoy nito ang pangalan at ang path ng partikular na file sa anyo ng isang string, URL, o buffer.
  • mga watawat : Tinutukoy nito ang string o numeric na halaga na tumutukoy sa mga operasyon na isasagawa sa binuksan na file. Ang default na halaga nito ay 'r(read)' bilang default.
  • mode : Tinutukoy nito ang mga pahintulot ng file na ' 0o666(parehong nababasa at nasusulat) ” bilang default.

Halaga ng Pagbabalik: Ang ' fs.openSync() ” ay nagbibigay ng integer bilang ibinalik na halaga nito na nagsasaad ng file descriptor.

Sundin ang aming detalyadong gabay sa ' fs.openSync() Paraan ” para sa praktikal na pagpapatupad.

Paraan 3: Gamitin ang “fsPromise.open()” para Kumuha ng File Descriptor

Ang ' fsPromises.open() 'ay ang paunang natukoy na paraan ng ' fs ” module na asynchronous na nagbubukas ng file bilang pangako at nagbabalik ng “ deskriptor ng file ”. Kung ang pangako ay nalutas, ito ay nagpapatunay na ang tinukoy na folder ay binuksan kung hindi man ito ay tinanggihan ng isang bagay na error.

Syntax

fsMga Pangako. bukas ( filename , mga watawat , mode )

Ang ' fsPromises.open ()' na pamamaraan ay gumagana sa sumusunod na tatlong parameter:

  • filename : Sinasabi nito ang partikular na pangalan ng file at ang path sa anyo ng isang string, URL, o buffer na gustong basahin ng user bilang default.
  • mga watawat : Maaaring ito ay isang string o isang hindi negatibong integer na halaga na tumutukoy sa mga operasyong gagawin sa binuksan na file. Ang default na halaga nito ay 'r(read)' bilang default.
  • mode : Tinutukoy nito ang mga pahintulot ng file na ' 0o666(parehong nababasa at nasusulat) ” bilang default.

Halaga ng Pagbabalik: Nagbibigay ito ng ' pangako ' bilang ibinalik na halaga ng ' fsPromises.open ()” paraan.

Sundin ang aming detalyadong gabay sa ' fsPromises.open() Paraan ” para sa praktikal na pagpapatupad.

Anong Iba't ibang Mga Operasyon ang Maaaring Isagawa Sa Mga Deskriptor ng File sa Node.js?

Kapag nakuha na ang file descriptor, magagamit ito ng user para ma-access ang partikular na file na iyon para magsagawa ng iba't ibang operasyon dito tulad ng pagbukas, pagsasara, pagbabasa, pagsusulat, at marami pang iba. Upang maisagawa ang mga partikular na operasyong ito, sundin ang aming detalyadong gabay sa ' Module ng File System ”.

Iyon lang ang tungkol sa pakikipag-ugnayan sa mga deskriptor ng file sa Node.js.

Konklusyon

Upang makipag-ugnayan sa mga deskriptor ng file, gamitin ang “ fs.open()”, “fs.openSync() ', o ang ' fsPromises.open() ” paraan sa Node.js. Binubuksan ng lahat ng mga pamamaraang ito ang file upang magsagawa ng iba't ibang mga operasyon dito na tinukoy sa pamamagitan ng ' bandila ” parameter at ibalik din ang “ deskriptor ng file ” na siyang sanggunian ng binuksan na file. Ang write-up na ito ay nagpapaliwanag kung paano makipag-ugnayan sa mga file descriptor sa Node.js.