logo

Node.js fs.writeFileSync() Methode

De methode fs.writeFileSync() is een synchrone methode. Er wordt een nieuw bestand gemaakt als het opgegeven bestand niet bestaat. Ook wordt de ‘readline-sync’-module gebruikt om gebruikersinvoer tijdens runtime mogelijk te maken.

De ‘fs’-module van Node.js implementeert de File I/O-bewerking. De fs-modulemethoden kunnen zowel synchroon als asynchroon zijn. De asynchrone functie heeft een callback-functie als laatste parameter die de voltooiing van de asynchrone functie aangeeft. Node.js-ontwikkelaars geven de voorkeur aan asynchrone methoden boven synchrone methoden, omdat asynchrone methoden een programma nooit blokkeren tijdens de uitvoering ervan, terwijl laatstgenoemde dat wel doet.



Het blokkeren van de hoofdthread is een wanpraktijken in Node.js, dus synchrone functies mogen alleen worden gebruikt voor foutopsporing of als er geen andere opties beschikbaar zijn.

Syntaxis:

fs.writeFileSync( file, data, options )>

Parameters: Deze methode accepteert drie parameters zoals hierboven vermeld en hieronder beschreven:



    bestand: Het is een geheel getal met een tekenreeks, buffer, URL of bestandsbeschrijving dat het pad aangeeft van het bestand waar het moet worden geschreven. Als u een bestandsdescriptor gebruikt, gedraagt ​​deze zich op dezelfde manier als de methode fs.write(). data: Het is een string, Buffer, TypedArray of DataView die naar het bestand wordt geschreven. opties: Het is een tekenreeks of object dat kan worden gebruikt om optionele parameters op te geven die de uitvoer beïnvloeden. Het heeft drie optionele parameters:
      codering: Het is een tekenreeks die de codering van het bestand specificeert. De standaardwaarde is ‘utf8’. mode: Het is een geheel getal dat de bestandsmodus specificeert. De standaardwaarde is 0o666. vlag: Het is een tekenreeks die de vlag specificeert die wordt gebruikt tijdens het schrijven naar het bestand. De standaardwaarde is ‘w’.

Onderstaande voorbeelden illustreren de fs.writeFileSync()-methode in Node.js.

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

anaconda versus pythonslang

>

>

Uitgang:

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>

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

heap en heap sorteren

>

>

verborgen apps

Uitgang:

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

Voorbeeld 3: Runtime-invoer van gebruikers nemen voor bestandsnaam en bestandsgegevens met behulp van de leesregelmodule

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

>

>

Uitvoer

Voorbeeld 4: Runtime-invoer van gebruikers nemen voor bestandsgegevens met behulp van de leeslijnmodule met behulp van 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);> }>

overerving in c++

>

>

Uitvoer

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