logo

Node.js fs.writeFileSync() metodas

Metodas fs.writeFileSync() yra sinchroninis metodas. Jis sukuria naują failą, jei nurodyto failo nėra. Be to, „readline-sinchronizavimo“ modulis naudojamas įgalinti vartotojo įvestį vykdymo metu.

Node.js „fs“ modulis įgyvendina failo įvesties / išvesties operaciją. Fs modulio metodai gali būti sinchroniniai ir asinchroniniai. Asinchroninė funkcija turi atgalinio skambinimo funkciją kaip paskutinį parametrą, kuris rodo asinchroninės funkcijos užbaigimą. Node.js kūrėjai teikia pirmenybę asinchroniniams, o ne sinchroniniams metodams, nes asinchroniniai metodai niekada neužblokuoja programos jos vykdymo metu, o pastaroji tai daro.



Pagrindinės gijos blokavimas yra Node.js klaida, todėl sinchroninės funkcijos turėtų būti naudojamos tik derinant arba kai nėra kitų parinkčių.

Sintaksė:

fs.writeFileSync( file, data, options )>

Parametrai: Šis metodas priima tris pirmiau nurodytus ir toliau aprašytus parametrus:



    failas: tai eilutė, buferis, URL arba failo aprašo sveikasis skaičius, nurodantis failo, kuriame jis turi būti įrašytas, kelią. Naudojant failo aprašą, jis elgsis panašiai kaip fs.write() metodas. duomenys: tai eilutė, buferis, TypedArray arba DataView, kurie bus įrašyti į failą. parinktys: tai eilutė arba objektas, kurį galima naudoti pasirenkamiems parametrams, kurie turės įtakos išėjimui, nurodyti. Jame yra trys pasirenkami parametrai:
      kodavimas: tai eilutė, nurodanti failo kodavimą. Numatytoji reikšmė yra „utf8“. režimas: tai sveikasis skaičius, nurodantis failo režimą. Numatytoji reikšmė yra 0o666. vėliavėlė: tai eilutė, nurodanti vėliavėlę, naudojamą rašant į failą. Numatytoji reikšmė yra „w“.

Žemiau pateikti pavyzdžiai iliustruoja fs.writeFileSync() metodas Node.js.

1 pavyzdys:

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

operacinės sistemos naudojimas

>

>

Išvestis:

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>

2 pavyzdys:

javascript

metus į ketvirčius




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

>

>

saulėtas deol amžius

Išvestis:

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

3 pavyzdys: Vykdymo laiko įvestis iš vartotojų, skirta failo pavadinimui ir failo duomenims, naudojant skaitymo linijos 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);> }>

>

>

Išvestis

4 pavyzdys: Failų duomenų vykdymo laiko įvestis iš vartotojų, naudojant skaitymo linijos modulį naudojant buferį.

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

pritaikyta išimtis Java

>

>

Išvestis

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