Metoda fs.writeFileSync() je sinhrona metoda. Ustvari novo datoteko, če navedena datoteka ne obstaja. Za omogočanje uporabniškega vnosa med izvajanjem se uporablja tudi modul 'readline-sync'.
Modul 'fs' Node.js implementira V/I operacijo datoteke. Metode modula fs so lahko sinhrone in asinhrone. Asinhrona funkcija ima funkcijo povratnega klica kot zadnji parameter, ki označuje dokončanje asinhrone funkcije. Razvijalci Node.js imajo raje asinhrone metode pred sinhronimi metodami, saj asinhrone metode nikoli ne blokirajo programa med njegovim izvajanjem, medtem ko slednje blokirajo.
Blokiranje glavne niti je zloraba v Node.js, zato je treba sinhrone funkcije uporabljati le za odpravljanje napak ali kadar ni na voljo nobena druga možnost.
Sintaksa:
fs.writeFileSync( file, data, options )>
Parametri: Ta metoda sprejme tri parametre, kot je navedeno zgoraj in opisano spodaj:
- datoteka: je niz, medpomnilnik, URL ali celo število opisa datoteke, ki označuje pot datoteke, kamor mora biti zapisana. Če uporabite deskriptor datoteke, se bo obnašal podobno kot metoda fs.write(). podatki: to je niz, medpomnilnik, TypedArray ali DataView, ki bo zapisan v datoteko. možnosti: je niz ali predmet, ki ga je mogoče uporabiti za podajanje neobveznih parametrov, ki bodo vplivali na izhod. Ima tri neobvezne parametre:
- kodiranje: To je niz, ki določa kodiranje datoteke. Privzeta vrednost je 'utf8'. način: je celo število, ki določa način datoteke. Privzeta vrednost je 0o666. zastavica: je niz, ki določa zastavico, uporabljeno med pisanjem v datoteko. Privzeta vrednost je 'w'.
Spodnji primeri ponazarjajo metoda fs.writeFileSync(). v Node.js.
Primer 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'> ));> |
zakaj označevalni vmesnik v Javi
>
>
Izhod:
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>
Primer 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'> ));> |
>
definirati računalnik
>
Izhod:
File written successfully 5 times The written file has the following contents: Movie 0 Movie 1 Movie 2 Movie 3 Movie 4>
Primer 3: Prejemanje vnosa med izvajanjem od uporabnikov za ime datoteke in podatke datoteke z uporabo modula readline
javascript
spajanje razvrščanje v Javi
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);> }> |
>
>
Izhod
Primer 4: Prejemanje vnosa med izvajanjem od uporabnikov za podatke datoteke z uporabo modula readline z uporabo medpomnilnika.
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);> }> |
bash dolžina niza
>
>
Izhod
Referenca: https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options