Node.js fs.writeFileSync() metode

Node.js fs.writeFileSync() metode

Metoden fs.writeFileSync() er en synkron metode. Den opretter en ny fil, hvis den angivne fil ikke eksisterer. Modulet 'readline-sync' bruges også til at aktivere brugerinput under kørsel.

'fs'-modulet i Node.js implementerer File I/O-operationen. fs-modulmetoderne kan være synkrone såvel som asynkrone. Den asynkrone funktion har en tilbagekaldsfunktion som den sidste parameter, der angiver fuldførelsen af ​​den asynkrone funktion. Node.js-udviklere foretrækker asynkrone metoder frem for synkrone metoder, da asynkrone metoder aldrig blokerer et program under dets udførelse, hvorimod sidstnævnte gør.

Blokering af hovedtråden er fejlbehandling i Node.js, derfor bør synkrone funktioner kun bruges til fejlretning, eller når der ikke er andre muligheder tilgængelige.

Syntaks:

fs.writeFileSync( file, data, options ) 

Parametre: Denne metode accepterer tre parametre som nævnt ovenfor og beskrevet nedenfor:

    fil: Det er en streng, buffer, URL eller filbeskrivelsesheltal, der angiver stien til filen, hvor den skal skrives. Brug af en filbeskrivelse vil få den til at opføre sig på samme måde som fs.write()-metoden. data: Det er en streng, Buffer, TypedArray eller DataView, der vil blive skrevet til filen. optioner: Det er en streng eller et objekt, der kan bruges til at specificere valgfrie parametre, der vil påvirke outputtet. Den har tre valgfri parametre:
      kodning: Det er en streng, der angiver kodningen af ​​filen. Standardværdien er 'utf8'. tilstand: Det er et heltal, der angiver filtilstanden. Standardværdien er 0o666. flag: Det er en streng, der angiver det flag, der bruges under skrivning til filen. Standardværdien er 'w'.

Nedenstående eksempler illustrerer fs.writeFileSync() metode i Node.js.

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

Produktion:

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 

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

Produktion:

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

Eksempel 3: Tager runtime input fra brugere til filnavn og fildata ved hjælp af readline modul

javascript




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

Produktion

Eksempel 4: Tager runtime-input fra brugere til fildata ved hjælp af readline-modul ved hjælp af 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);> }>

Produktion

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