Node.js fs.writeFileSync() Metode

Node.js fs.writeFileSync() Metode

Metoden fs.writeFileSync() er en synkron metode. Den oppretter en ny fil hvis den angitte filen ikke eksisterer. Dessuten brukes 'readline-sync'-modulen for å aktivere brukerinndata under kjøring.

'fs'-modulen til Node.js implementerer File I/O-operasjonen. fs-modulmetodene kan være synkrone så vel som asynkrone. Asynkronfunksjonen har en tilbakeringingsfunksjon som den siste parameteren som indikerer fullføringen av den asynkrone funksjonen. Node.js-utviklere foretrekker asynkrone metoder fremfor synkrone metoder, da asynkrone metoder aldri blokkerer et program under kjøringen, mens sistnevnte gjør det.

Å blokkere hovedtråden er feilbehandling i Node.js, derfor bør synkrone funksjoner kun brukes for feilsøking eller når ingen andre alternativer er tilgjengelige.

Syntaks:

fs.writeFileSync( file, data, options ) 

Parametere: Denne metoden godtar tre parametere som nevnt ovenfor og beskrevet nedenfor:

    fil: Det er en streng, buffer, URL eller filbeskrivelsesheltall som angir banen til filen der den skal skrives. Ved å bruke en filbeskrivelse vil den oppføre seg på samme måte som fs.write()-metoden. data: Det er en streng, Buffer, TypedArray eller DataView som vil bli skrevet til filen. alternativer: Det er en streng eller et objekt som kan brukes til å spesifisere valgfrie parametere som vil påvirke utdataene. Den har tre valgfrie parametere:
      koding: Det er en streng som spesifiserer kodingen av filen. Standardverdien er 'utf8'. modus: Det er et heltall som spesifiserer filmodusen. Standardverdien er 0o666. flagg: Det er en streng som spesifiserer flagget som brukes under skriving til filen. Standardverdien er 'w'.

Eksemplene nedenfor illustrerer fs.writeFileSync()-metoden 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'> ));>

Produksjon:

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

Produksjon:

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

Eksempel 3: Tar kjøretidsinndata fra brukere for filnavn og fildata ved hjelp av readline-modulen

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

Produksjon

Eksempel 4: Tar kjøretidsinndata fra brukere for fildata ved hjelp av readline-modul ved bruk av 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);> }>

Produksjon

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