Hoe bestanden schrijven met fs.writeFile() in Node.js?

Hoe Bestanden Schrijven Met Fs Writefile In Node Js



Knooppunt.js “fs(bestandssysteem)” module voert I/O-bewerkingen uit op het bestandssysteem met behulp van zijn synchrone en asynchrone methoden. Deze methoden omvatten “writeFile()”, “writeFileSync()” “readFile()”, “readFileSync()” en nog veel meer. Bijvoorbeeld de “fs.writeFile()” methode wordt gebruikt om een ​​bestand synchroon te schrijven. De “fs.writeFile()” is een asynchrone methode die gegevens naar een bestand schrijft. Het asynchrone karakter ervan stopt niet de uitvoering van alle andere bewerkingen tijdens het uitvoeren van de gespecificeerde taak, namelijk het schrijven van een bestand.

Deze handleiding illustreert hoe u bestanden schrijft met 'fs.writeFile()' in Node.js.







Vereisten:
Voordat u overgaat tot de praktische implementatie, kijkt u naar de mappenstructuur van het Node.js-project:





Opmerking: De JavaScript-code om een ​​bestand te schrijven met behulp van de methode “fs.writeFile()” wordt geschreven in het bestand “app.js” van het Node.js-project.





Hoe bestanden schrijven met fs.writeFile() in Node.js?

Om een ​​bestand op een asynchrone manier te schrijven zonder de uitvoering van het programma te blokkeren, past u de “fs.writeFile()” methode met behulp van de basissyntaxis die hieronder is geschreven:

fs. schrijfBestand ( bestand , gegevens , opties , Bel terug )

Uit de bovenstaande syntaxis blijkt dat de methode “fs.writeFile()” werkt op de volgende parameters:



  • bestand: Het specificeert het exacte pad van het voorbeeldbestand met de naam die moet worden geschreven. Het moet tussen dubbele/enkele aanhalingstekens staan.
  • gegevens: Het specificeert de inhoud die in het gemaakte bestand zal worden geschreven.
  • opties: Het geeft de hieronder vermelde optionele parameters aan:
  • codering: Het bevat het coderingstype, d.w.z. “utf8”, anders is de standaardwaarde “null”.
  • modus: Het verwijst naar een geheel getal dat de bestandsmodus vertegenwoordigt. De standaardwaarde is “0666”
  • vlag: Het geeft de bewerking aan die op het opgegeven bestand wordt uitgevoerd. De standaardwaarde is “w(write)”.
  • Bel terug: Het definieert een call-back-functie die wordt uitgevoerd nadat de inhoud in het specifieke bestand is geschreven. Het ondersteunt slechts één parameter “err” (als er een fout optreedt).

Gebruik nu de hierboven gedefinieerde methode “fs.writeFile()” praktisch via de gegeven voorbeelden.

Voorbeeld 1: Bestanden schrijven met de “Standaard”-waarden van de “fs.writeFile()”-methode
In dit voorbeeld wordt de methode “fs.writeFile()” gebruikt om een ​​bestand asynchroon te schrijven met behulp van de standaardwaarden:

const fs = vereisen ( 'fs' ) ;
const bestandsgegevens = 'Welkom bij Linuxhint!'
fs. schrijfBestand ( 'mijnBestand.txt' , bestandsgegevens , ( fout ) => {
als ( fout )
troosten. fout ( fout ) ;
anders {
troosten. loggen ( 'Bestand succesvol geschreven \N ' ) ;
troosten. loggen ( 'De bestandsinhoud is als volgt:' ) ;
troosten. loggen ( fs. leesFileSync ( 'mijnBestand.txt' , 'utf8' ) ) ;
}
} ) ;

In de bovenstaande coderegels:

  • Ten eerste importeert de variabele “fs” de bestandssysteemmodule (fs) met behulp van de 'vereisen()' methode.
  • Vervolgens de 'inhoud' variabele specificeert de bestandsgegevens die de gebruiker in het bestand wil invoegen.
  • Daarna werd de “schrijfBestand()” methode maakt een bestand aan “mijnBestand.txt” en schrijft de met de opgegeven 'gegevens' erin.
  • Als er een fout wordt gegenereerd, wordt de “console.fout()” methode die is opgegeven in de “if”-instructie, geeft een foutmelding weer (als deze optreedt).
  • Anders wordt de instructie “else” uitgevoerd om de verificatieberichten en de gemaakte bestandsinhoud weer te geven met behulp van de “fs.readFileSync()” methode

Uitvoer
Voer de volgende opdracht uit om het bestand “app.js” te starten:

knooppunt-app. js

Het is te zien dat de terminal de opgegeven bestandsinhoud (myFile.txt) toont die met succes is geschreven in het huidige Node.js-project:

Voorbeeld 2: Bestanden schrijven met verschillende “Opties” van de “fs.writeFileSync()”-methode
In dit voorbeeld worden de meerdere opties van de methode “fs.writeFile()” gebruikt om de gegevens naar het opgegeven bestand te schrijven:

const fs = vereisen ( 'fs' ) ;
laat file_data = 'Welkom bij Linuxhint!' ;
fs. schrijfBestand ( 'mijnBestand.txt' , bestandsgegevens ,
{
codering : 'utf8' ,
vlag : 'In' ,
modus : 0o666
} ,
( fout ) => {
als ( fout )
troosten. loggen ( fout ) ;
anders {
troosten. loggen ( 'Bestand succesvol geschreven \N ' ) ;
troosten. loggen ( 'De bestandsinhoud is als volgt:' ) ;
troosten. loggen ( fs. leesFileSync ( 'mijnBestand.txt' , 'utf8' ) ) ;
}
} ) ;

Het bovenstaande codefragment:

  • Pas de “fs.writeFile()” methode die de opgegeven gegevens naar het bestand 'myFile.txt' schrijft door gebruik te maken van de 'In' vlag.
  • Daarna werd de 'utf8' format retourneert de opgegeven bestandsinhoud in tekenreeksindeling en de “0o666” bestandsmodus specificeert de machtigingen, d.w.z. leesbaar en schrijfbaar.
  • In geval van een fout zal de “als-anders” verklaring zal worden uitgevoerd.

Uitvoer
Start het bestand “app.js” door de gegeven opdracht uit te voeren:

knooppunt-app. js

De terminal toont de inhoud van het opgegeven bestand (mijnBestand.txt), wat bevestigt dat “mijnBestand.txt” met succes is aangemaakt:

Dat gaat allemaal over het schrijven van bestanden met behulp van de “fs.writeFile()” -methode in Node.js.

Conclusie

Als u een bestand asynchroon in Node.js wilt schrijven, gebruikt u het vooraf gedefinieerde bestand “fs.writeFile()” methode. Deze methode vertrouwt op de algemene syntaxis om deze taak uit te voeren door gebruik te maken van de vier parameters: “bestand”, “data”, “opties” en een “callback” -functie. Met deze methode wordt het bestand op een bepaalde locatie gemaakt als dit niet aanwezig is. Dit bericht heeft kort de “fs.writeFile()” methode voor het schrijven van bestanden in Node.js.