Node.js 'fs (fájlrendszer)' modul I/O műveleteket hajt végre a fájlrendszeren a szinkron és aszinkron metódusai segítségével. Ezek a módszerek közé tartozik a „writeFile()”, „writeFileSync()”, „readFile()”, „readFileSync()” és még sok más. Például a 'fs.writeFile()' módszert használják a fájl szinkron írására. Az „fs.writeFile()” egy aszinkron metódus, amely az adatokat fájlba írja. Aszinkron jellege nem akadályozza meg az összes többi művelet végrehajtását, miközben a meghatározott feladatot, azaz egy fájl írását végzi.
Ez az útmutató bemutatja, hogyan írhat fájlokat az „fs.writeFile()” használatával a Node.js fájlban.
Előfeltételek:
Mielőtt a gyakorlati megvalósítás felé haladna, nézze meg a Node.js Project mappaszerkezetét:
Jegyzet: A fájlt az „fs.writeFile()” metódussal írandó JavaScript-kód a Node.js projekt „app.js” fájljába kerül.
Hogyan írjunk fájlokat az fs.writeFile() használatával a Node.js-ben?
Ha aszinkron módon szeretne fájlt írni anélkül, hogy a program végrehajtását blokkolná, alkalmazza a 'fs.writeFile()' módszert az alább leírt alapvető szintaxis segítségével:
fs. writeFile ( fájlt , adat , lehetőségek , visszahív )A fenti szintaxis azt mutatja, hogy az „fs.writeFile()” metódus a következő paramétereken működik:
- fájl: Megadja a mintafájl pontos elérési útját a megírandó nevével. Dupla/egyes idézőjelben kell lennie.
- adat: Meghatározza a létrehozott fájlba írandó tartalmat.
- lehetőségek: Az alábbiakban megadott opcionális paramétereket jelöli:
- kódolás: Ez tartalmazza a kódolás típusát, azaz az „utf8”, különben az alapértelmezett értéke „null”.
- mód: Egy egész számra utal, amely a fájl módot jelöli. Az alapértelmezett értéke „0666”
- zászló: A megadott fájlon végrehajtott műveletet jelzi. Alapértelmezett értéke „w(write)”.
- visszahív: Ez egy visszahívási funkciót határoz meg, amely a tartalomnak az adott fájlba való beírása után fut le. Csak egy „err” paramétert támogat (ha hiba történik).
Most gyakorlatilag a fent definiált „fs.writeFile()” metódust használja a megadott példákon keresztül.
1. példa: Fájlok írása az „fs.writeFile()” módszer „alapértelmezett” értékeivel
Ez a példa az „fs.writeFile()” metódust használja a fájl aszinkron írására az alapértelmezett értékek használatával:
const file_data = 'Üdvözöljük a Linuxhintben!'
fs. writeFile ( 'myFájl.txt' , file_data , ( téved ) => {
ha ( téved )
konzol. hiba ( téved ) ;
más {
konzol. log ( 'A fájl sikeresen megírva \n ' ) ;
konzol. log ( 'A fájl tartalma a következő: ) ;
konzol. log ( fs. readFileSync ( 'myFájl.txt' , 'utf8' ) ) ;
}
} ) ;
A fenti kódsorokban:
- Először az 'fs' változó importálja a fájlrendszer modult (fs) a segítségével 'megköveteli()' módszer.
- Következő, a 'tartalom' változó határozza meg a fájl adatait, amelyeket a felhasználó be szeretne illeszteni a fájlba.
- Ezt követően a 'writeFile()' metódus létrehoz egy fájlt 'myFájl.txt' és beleírja a megadott „adatokkal”-t.
- Ha hiba keletkezik, akkor a 'console.error()' Az „if” utasításban megadott metódus hibaüzenetet jelenít meg (ha előfordul).
- Ellenkező esetben az „else” utasítás végrehajtásra kerül az ellenőrző üzenetek és a létrehozott fájltartalom megjelenítéséhez 'fs.readFileSync()' módszer
Kimenet
Hajtsa végre a következő parancsot az „app.js” fájl elindításához:
Látható, hogy a terminál megjeleníti a megadott fájl(myFájl.txt) tartalmat, amely sikeresen megírt az aktuális Node.js projektben:
2. példa: Fájlok írása az „fs.writeFileSync()” módszer különböző „opciói” használatával
Ez a példa az „fs.writeFile()” metódus több beállítását használja az adatok beírásához a megadott fájlba:
legyen file_data = 'Üdvözöljük a Linuxhintben!' ;
fs. writeFile ( 'myFájl.txt' , file_data ,
{
kódolás : 'utf8' ,
zászló : 'Ban ben' ,
mód : 0o666
} ,
( téved ) => {
ha ( téved )
konzol. log ( téved ) ;
más {
konzol. log ( 'A fájl sikeresen megírva \n ' ) ;
konzol. log ( 'A fájl tartalma a következő: ) ;
konzol. log ( fs. readFileSync ( 'myFájl.txt' , 'utf8' ) ) ;
}
} ) ;
A fenti kódrészlet:
- Alkalmazza a 'fs.writeFile()' módszer, amely a megadott adatokat a „myFile.txt” fájlba írja a 'Ban ben' zászló.
- Ezt követően a 'utf8' format visszaadja a megadott fájltartalmat karakterlánc formátumba, és a „0o666” a fájlmód megadja a jogosultságait, azaz olvasható és írható.
- Bármilyen hiba esetén a 'ha más' nyilatkozat végrehajtásra kerül.
Kimenet
Indítsa el az „app.js” fájlt a megadott parancs végrehajtásával:
A terminál megjeleníti a megadott fájl(myFájl.txt) tartalmat, amely megerősíti, hogy a „sajatFájl.txt” sikeresen létrejött:
Ennyi a fájlok írása a Node.js „fs.writeFile()” metódusával.
Következtetés
Ha aszinkron módon szeretne egy fájlt Node.js-ben írni, használja az előre meghatározott 'fs.writeFile()' módszer. Ez a módszer az általános szintaxisra támaszkodik a feladat végrehajtásához a négy paraméter felhasználásával: „fájl”, „adatok”, „beállítások” és egy „visszahívás” funkció. Ez a módszer a fájlt egy adott helyen hozza létre, ha az nincs jelen. Ez a bejegyzés röviden bemutatta a 'fs.writeFile()' módszer a fájlok Node.js-ben történő írására.