logo

Metoda Node.js fs.writeFileSync().

Metoda fs.writeFileSync() este o metodă sincronă. Se creează un fișier nou dacă fișierul specificat nu există. De asemenea, modulul „readline-sync” este utilizat pentru a activa intrarea utilizatorului în timpul execuției.

Modulul „fs” al Node.js implementează operația File I/O. Metodele modulului fs pot fi sincrone, precum și asincrone. Funcția asincronă are o funcție de apel invers ca ultimul parametru care indică finalizarea funcției asincrone. Dezvoltatorii Node.js preferă metodele asincrone decât metodele sincrone, deoarece metodele asincrone nu blochează niciodată un program în timpul execuției sale, în timp ce acestea din urmă o fac.



Blocarea firului principal este o malpraxis în Node.js, prin urmare funcțiile sincrone ar trebui folosite numai pentru depanare sau atunci când nu sunt disponibile alte opțiuni.

Sintaxă:

fs.writeFileSync( file, data, options )>

Parametri: Această metodă acceptă trei parametri menționați mai sus și descriși mai jos:



    fișier: este un șir, un buffer, un URL sau un întreg de descriere a fișierului care indică calea fișierului unde trebuie scris. Folosirea unui descriptor de fișier îl va face să se comporte similar cu metoda fs.write(). date: este un șir, Buffer, TypedArray sau DataView care va fi scris în fișier. opțiuni: este un șir sau obiect care poate fi folosit pentru a specifica parametrii opționali care vor afecta rezultatul. Are trei parametri opționali:
      codificare: este un șir care specifică codificarea fișierului. Valoarea implicită este „utf8”. mod: este un număr întreg care specifică modul fișierului. Valoarea implicită este 0o666. flag: este un șir care specifică steag-ul folosit în timpul scrierii în fișier. Valoarea implicită este „w”.

Exemplele de mai jos ilustrează metoda fs.writeFileSync(). în Node.js.

Exemplul 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'>));>

conectați-vă la o bază de date java

>

>

Ieșire:

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>

Exemplul 2:

javascript

înlocuiți din șir în java




// 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'>));>

>

>

Ieșire:

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

Exemplul 3: Preluarea timpului de execuție de la utilizatori pentru numele și datele fișierului folosind modulul readline

javascript


char și int 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);> }>

>

>

Ieșire

Exemplul 4: Preluarea intrărilor de rulare de la utilizatori pentru datele fișierului folosind modulul readline folosind buffer.

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);> }>

scaner în java

>

>

Ieșire

Referinţă: https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options