El mètode fs.writeFileSync() és un mètode síncron. Crea un fitxer nou si el fitxer especificat no existeix. A més, el mòdul 'readline-sync' s'utilitza per habilitar l'entrada de l'usuari en temps d'execució.
El mòdul 'fs' de Node.js implementa l'operació File I/O. Els mètodes del mòdul fs poden ser sincrònics i asíncrons. La funció asíncrona té una funció de devolució de trucada com a darrer paràmetre que indica la finalització de la funció asíncrona. Els desenvolupadors de Node.js prefereixen els mètodes asíncrons als mètodes síncrons, ja que els mètodes asíncrons mai bloquegen un programa durant la seva execució, mentre que aquest últim ho fa.
Bloquejar el fil principal és una mala pràctica a Node.js, per tant, les funcions síncrones només s'han d'utilitzar per a la depuració o quan no hi ha altres opcions disponibles.
Sintaxi:
fs.writeFileSync( file, data, options )>
Paràmetres: Aquest mètode accepta tres paràmetres tal com s'ha esmentat anteriorment i es descriu a continuació:
- fitxer: és una cadena, una memòria intermèdia, una URL o un nombre enter de descripció del fitxer que indica la ruta del fitxer on s'ha d'escriure. L'ús d'un descriptor de fitxer farà que es comporti de manera similar al mètode fs.write(). dades: és una cadena, buffer, TypedArray o DataView que s'escriurà al fitxer. opcions: és una cadena o objecte que es pot utilitzar per especificar paràmetres opcionals que afectaran la sortida. Té tres paràmetres opcionals:
- codificació: És una cadena que especifica la codificació del fitxer. El valor per defecte és 'utf8'. mode: és un nombre enter que especifica el mode de fitxer. El valor per defecte és 0o666. flag: és una cadena que especifica el senyalador utilitzat durant l'escriptura al fitxer. El valor per defecte és 'w'.
Els exemples següents il·lustren el mètode fs.writeFileSync(). a Node.js.
Exemple 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'>));> |
char tostring java
>
>
Sortida:
alfabet per nombre
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>
Exemple 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'>));> |
>
>
Sortida:
File written successfully 5 times The written file has the following contents: Movie 0 Movie 1 Movie 2 Movie 3 Movie 4>
Exemple 3: Prendre l'entrada d'execució dels usuaris per al nom del fitxer i les dades del fitxer mitjançant el mòdul readline
javascript
mapa d'arbre
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);> }> |
>
>
Sortida

Exemple 4: Prendre l'entrada d'execució dels usuaris per a les dades dels fitxers mitjançant el mòdul readline mitjançant la memòria intermèdia.
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);> }> |
com llegir el fitxer csv en java
>
>
Sortida

Referència: https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options