logo

Node.js fs.writeFileSync()-Methode

Die Methode fs.writeFileSync() ist eine synchrone Methode. Es erstellt eine neue Datei, wenn die angegebene Datei nicht existiert. Außerdem wird das Modul „readline-sync“ verwendet, um Benutzereingaben zur Laufzeit zu ermöglichen.

Das Modul „fs“ von Node.js implementiert den Datei-I/O-Vorgang. Die Methoden des fs-Moduls können sowohl synchron als auch asynchron sein. Die asynchrone Funktion verfügt über eine Rückruffunktion als letzten Parameter, der den Abschluss der asynchronen Funktion anzeigt. Node.js-Entwickler bevorzugen asynchrone Methoden gegenüber synchronen Methoden, da asynchrone Methoden niemals ein Programm während seiner Ausführung blockieren, während letztere dies tun.



Das Blockieren des Hauptthreads ist in Node.js ein Kunstfehler, daher sollten synchrone Funktionen nur zum Debuggen verwendet werden oder wenn keine anderen Optionen verfügbar sind.

Syntax:

fs.writeFileSync( file, data, options )>

Parameter: Diese Methode akzeptiert drei Parameter, wie oben erwähnt und unten beschrieben:



    Datei: Es handelt sich um eine Zeichenfolge, einen Puffer, eine URL oder eine ganze Dateibeschreibungszahl, die den Pfad der Datei angibt, in die sie geschrieben werden muss. Durch die Verwendung eines Dateideskriptors verhält es sich ähnlich wie die Methode fs.write(). Daten: Es handelt sich um eine Zeichenfolge, einen Puffer, ein TypedArray oder eine Datenansicht, die in die Datei geschrieben wird. Optionen: Es handelt sich um eine Zeichenfolge oder ein Objekt, mit dem optionale Parameter angegeben werden können, die sich auf die Ausgabe auswirken. Es verfügt über drei optionale Parameter:
      Kodierung: Dies ist eine Zeichenfolge, die die Kodierung der Datei angibt. Der Standardwert ist „utf8“. Modus: Es ist eine Ganzzahl, die den Dateimodus angibt. Der Standardwert ist 0o666. Flag: Dies ist eine Zeichenfolge, die das Flag angibt, das beim Schreiben in die Datei verwendet wird. Der Standardwert ist „w“.

Die folgenden Beispiele veranschaulichen dies fs.writeFileSync()-Methode in Node.js.

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

Berechnung der Amtszeit in Excel

>

>

Ausgabe:

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>

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

>

json im JSON-Beispiel
>

Ausgabe:

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

Beispiel 3: Übernahme von Laufzeiteingaben von Benutzern für Dateinamen und Dateidaten mithilfe des Readline-Moduls

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

>

Saitenbauer
>

Ausgabe

Beispiel 4: Übernahme von Laufzeiteingaben von Benutzern für Dateidaten mithilfe des Readline-Moduls mithilfe von Puffer.

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

Verzeichnisnamen unter Linux ändern

>

>

Ausgabe

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