logo

Node.js fs.writeFileSync() -menetelmä

Menetelmä fs.writeFileSync() on synkroninen menetelmä. Se luo uuden tiedoston, jos määritettyä tiedostoa ei ole olemassa. Myös 'readline-sync' -moduulia käytetään mahdollistamaan käyttäjän syöttäminen ajon aikana.

Node.js:n fs-moduuli toteuttaa File I/O -toiminnon. Fs-moduulin menetelmät voivat olla synkronisia tai asynkronisia. Asynkronisen funktion viimeisenä parametrina on takaisinsoittotoiminto, joka osoittaa asynkronisen toiminnon valmistumisen. Node.js-kehittäjät suosivat asynkronisia menetelmiä synkronisten menetelmien sijaan, koska asynkroniset menetelmät eivät koskaan estä ohjelmaa sen suorittamisen aikana, kun taas jälkimmäinen estää.



Pääsäikeen estäminen on Node.js:n väärinkäyttöä, joten synkronisia toimintoja tulisi käyttää vain virheenkorjaukseen tai kun muita vaihtoehtoja ei ole käytettävissä.

Syntaksi:

fs.writeFileSync( file, data, options )>

Parametrit: Tämä menetelmä hyväksyy kolme edellä mainittua ja alla kuvattua parametria:



    tiedosto: Se on merkkijono, puskuri, URL-osoite tai tiedoston kuvaus kokonaisluku, joka ilmaisee tiedoston polun, johon se on kirjoitettava. Tiedostokuvaajan käyttäminen saa sen käyttäytymään samalla tavalla kuin fs.write()-metodi. data: Se on merkkijono, puskuri, TypedArray tai DataView, joka kirjoitetaan tiedostoon. Options: Se on merkkijono tai objekti, jota voidaan käyttää valinnaisten parametrien määrittämiseen, jotka vaikuttavat lähtöön. Siinä on kolme valinnaista parametria:
      koodaus: Se on merkkijono, joka määrittää tiedoston koodauksen. Oletusarvo on 'utf8'. tila: Se on kokonaisluku, joka määrittää tiedostotilan. Oletusarvo on 0o666. lippu: Se on merkkijono, joka määrittää lipun, jota käytetään tiedostoon kirjoitettaessa. Oletusarvo on 'w'.

Alla olevat esimerkit havainnollistavat fs.writeFileSync() -menetelmä Node.js:ssä.

Esimerkki 1:

javascript






// Node.js program to demonstrate the> // fs.writeFileSync() method> > // Import the filesystem module> const fs = require(>'fs'>);> > let data =>'This is a file containing a collection'> >+>' of programming languages. '> >+>'1. C 2. C++ 3. Python'>;> > fs.writeFileSync(>'programming.txt'>, data);> console.log(>'File written successfully '>);> console.log(>'The written has the following contents:'>);> console.log(fs.readFileSync(>'programming.txt'>,>'utf8'>));>

lista vs asetettu javassa

>

>

Lähtö:

File written successfully The written has the following contents: This is a file containing a collection of programming languages. 1. C 2. C++ 3. Python>

Esimerkki 2:

javascript




// Node.js program to demonstrate the> // fs.writeFileSync() method> > // Import the filesystem module> const fs = require(>'fs'>);> > // Writing to the file 5 times> // with the append file mode> for> (let i = 0; i <5; i++) {> >fs.writeFileSync(>'movies.txt'>,> >'Movie '> + i +>' '>,> >{> >encoding:>'utf8'>,> >flag:>'a+'>,> >mode: 0o666> >});> }> > console.log(>'File written successfully 5 times '>);> console.log(>'The written file has the following contents:'>);> console.log(fs.readFileSync(>'movies.txt'>,>'utf8'>));>

>

vuosineljänneksen liiketoiminnassa

>

Lähtö:

File written successfully 5 times The written file has the following contents: Movie 0 Movie 1 Movie 2 Movie 3 Movie 4>

Esimerkki 3: Käyttäjien ajonaikaisen syötteen ottaminen tiedostonimeä ja tiedostotietoja varten readline-moduulin avulla

javascript

bool merkkijonoon java




let readline = require(>'readline-sync'>);> let fs = require(>'fs'>);> > let path = readline.question(>'Enter file name/path: '>);> > console.log(>'Entered path : '> + path);> > let data = readline.question(>'Enter file data: '>);> > //synchronous functions may throw errors> //which can be handled using try-catch block> try> {> >fs.writeFileSync(path, data, { flag:>'a+'> });>//'a+' is append mode> >console.log(>'File written successfully'>);> }>catch> (err) {> >console.error(err);> }> console.log(>'-----------------------------------------------'>);> try> {> >const data = fs.readFileSync(path, { encoding:>'utf8'> });> >console.log(>'File content is as follows:'>);> >// Display the file data> >console.log(data);> }>catch> (err) {> >console.log(err);> }>

>

>

Lähtö

Esimerkki 4: Ajonaikaisen syötteen ottaminen käyttäjiltä tiedostotiedoille readline-moduulin avulla puskuria käyttäen.

javascript




let fs = require(>'fs'>);> let readline = require(>'readline-sync'>);> let path = readline.question(>'Enter file name/path: '>);> > console.log(>'Entered path : '> + path);> > // 1024 specifies the buffer size. We can limit> // the data size by this approach> let buf =>new> Buffer.alloc(1024);> buf = readline.question(>'Enter data:'>);> > > try> {> >fs.writeFileSync(path, buf, { flag:>'a+'> });> >console.log(>'File written successfully'>);> }>catch> (err) {> >console.error(err);> }> console.log(>'-----------------------------------------------'>);> try> {> >const data = fs.readFileSync(path, { encoding:>'utf8'> });> >console.log(>'File content is as follows:'>);> >// Display the file data> >console.log(data);> }>catch> (err) {> >console.log(err);> }>

jousenrakentaja

>

>

Lähtö

Viite: https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options