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