logo

Metodo Node.js fs.writeFileSync()

Il metodo fs.writeFileSync() è un metodo sincrono. Crea un nuovo file se il file specificato non esiste. Inoltre, il modulo 'readline-sync' viene utilizzato per abilitare l'input dell'utente in fase di esecuzione.

Il modulo 'fs' di Node.js implementa l'operazione File I/O. I metodi del modulo fs possono essere sincroni e asincroni. La funzione asincrona ha una funzione di callback come ultimo parametro che indica il completamento della funzione asincrona. Gli sviluppatori di Node.js preferiscono i metodi asincroni rispetto ai metodi sincroni poiché i metodi asincroni non bloccano mai un programma durante la sua esecuzione, mentre quest'ultimo lo fa.



Bloccare il thread principale è una pratica scorretta in Node.js, quindi le funzioni sincrone dovrebbero essere utilizzate solo per il debug o quando non sono disponibili altre opzioni.

Sintassi:

fs.writeFileSync( file, data, options )>

parametri: Questo metodo accetta tre parametri come menzionato sopra e descritto di seguito:



    file: è una stringa, un buffer, un URL o un numero intero di descrizione del file che indica il percorso del file in cui deve essere scritto. L'uso di un descrittore di file lo farà comportarsi in modo simile al metodo fs.write(). dati: è una stringa, Buffer, TypedArray o DataView che verrà scritta nel file. opzioni: è una stringa o un oggetto che può essere utilizzato per specificare parametri opzionali che influenzeranno l'output. Ha tre parametri opzionali:
      encoding: È una stringa che specifica la codifica del file. Il valore predefinito è 'utf8'. mode: è un numero intero che specifica la modalità del file. Il valore predefinito è 0o666. flag: è una stringa che specifica il flag utilizzato durante la scrittura sul file. Il valore predefinito è 'w'.

Gli esempi seguenti illustrano il Metodo fs.writeFileSync() in Node.js.

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

seleziona da più tabelle in sql

>

>

Produzione:

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>

Esempio 2:

javascript


logica del primo ordine



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

>

>

Produzione:

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

Esempio 3: Ricevere input di runtime dagli utenti per il nome del file e i dati del file utilizzando il modulo readline

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

tutorial sull'oscillazione di java

>

>

Produzione

Esempio 4: Ricevere input di runtime dagli utenti per i dati dei file utilizzando il modulo readline utilizzando il 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);> }>

operatore condizionale in Java

>

>

Produzione

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