JavaScript je široce používaný programovací jazyk, který umožňuje manipulaci se soubory přímo v prostředí webového prohlížeče. Pojďme si ukázat, jak na to!
Pro různé skripty, které vyžadují interakci se soubory, se často využívá prostředí NodeJS. NodeJS není nic jiného než běhové prostředí, které interpretuje a spouští JavaScriptový kód. Předpokládá se, že máte základní povědomí o NodeJS.
Nyní se podívejme na samotný návod, který vám krok za krokem ukáže, jak efektivně pracovat se soubory v JavaScriptu.
Práce se soubory v JavaScriptu
Manipulace se soubory zahrnuje širokou škálu operací, od vytváření a čtení, přes úpravy a přejmenování, až po mazání. K souborům je nutné přistupovat z pohledu operačního systému, což nelze snadno implementovat od nuly. Proto NodeJS poskytuje modul s názvem fs
(file system), který nám usnadňuje práci se soubory.
Nyní se blíže podíváme na klíčové metody modulu fs
.
fs.open()
Metoda fs.open()
přijímá dva hlavní argumenty: path
a mode
.
Argument path
slouží k určení cesty k danému souboru.
Argument mode
definuje režim, ve kterém bude soubor otevřen. Může se jednat o režim pro připojení, zápis nebo čtení.
Pokud soubor otevřete v určitém režimu, budete moci provádět pouze operace, které jsou pro daný režim specifické. Níže naleznete seznam jednotlivých režimů a jejich odpovídajících akcí:
Režim | Akce |
‚r‘ | Otevře soubor pouze pro čtení |
‚a‘ | Otevře soubor pro připojení (zápis na konec) |
‚w‘ | Otevře soubor pro zápis |
‚a+‘ | Otevře soubor pro připojení a čtení |
‚w+‘ | Otevře soubor pro zápis i čtení |
‚r+‘ | Otevře soubor pro čtení i zápis |
V případě, že soubor na zadané cestě neexistuje, bude vytvořen nový prázdný soubor. Podívejme se na příklad kódu, který ukazuje otevření souboru v různých režimech:
const fs = require("fs"); fs.open("sample.txt", "w", (err, file) => { if (err) throw err; console.log(file); });
Metoda fs.open()
vyvolá chybu, pokud se soubor v režimu čtení nenachází. V režimech pro zápis a připojení naopak vytvoří nový prázdný soubor.
Po otevření souboru můžeme s ním provádět různé operace. Kompletní příklad programu si ukážeme na konci tohoto návodu, po probrání dalších klíčových metod modulu fs
.
fs.appendFile()
Metoda fs.appendFile()
slouží k připojení nového obsahu na konec souboru. Pokud soubor na zadané cestě neexistuje, vytvoří se automaticky nový. Zde je ukázka, jak připojit textový obsah k souboru:
const fs = require("fs"); fs.appendFile("sample.txt", "Přidávám obsah na konec", (err) => { if (err) throw err; console.log("Dokončeno!"); });
fs.writeFile()
Metoda fs.writeFile()
se používá pro zápis obsahu do souboru. Stejně jako u appendFile()
, pokud soubor neexistuje, vytvoří se nový. Podívejte se na následující příklad zápisu obsahu do souboru:
const fs = require("fs"); fs.writeFile("sample.txt", "Zapisuji obsah do souboru", (err) => { if (err) throw err; console.log("Dokončeno!"); });
fs.readFile()
Metoda fs.readFile()
se používá pro čtení dat ze souboru. Pokud soubor na zadané cestě neexistuje, vyvolá se chyba. Prozkoumejte následující ukázku kódu:
const fs = require("fs"); fs.readFile("sample.txt", (err, data) => { if (err) throw err; console.log(data.toString()); });
fs.unlink()
Pro smazání souboru se používá metoda fs.unlink()
. Pokud soubor na dané cestě neexistuje, dojde k vyvolání chyby. Následující kód ukazuje, jak soubor smazat:
const fs = require("fs"); fs.unlink("sample.txt", (err) => { if (err) throw err; console.log("Soubor smazán!"); });
fs.rename()
Metoda fs.rename()
slouží k přejmenování souboru. Stejně jako u unlink()
, pokud soubor neexistuje, vyvolá se chyba. Následující kód ukazuje, jak soubor přejmenovat:
const fs = require("fs"); fs.rename("sample.txt", "sample_jedna.txt", (err) => { if (err) throw err; console.log("Soubor přejmenován!"); });
Smíšené použití
Nyní jste se seznámili s klíčovými metodami pro práci se soubory, které modul fs
nabízí. Většinu operací se soubory můžete provádět za pomoci metod, které jste se naučili v tomto návodu. Jak bylo slíbeno, podívejme se nyní na příklad komplexnějšího skriptu, který otevře soubor a přečte z něj obsah s využitím metod fs.open()
a fs.readFile()
:
const fs = require("fs"); fs.open("sample.txt", "r", (err, file) => { if (err) throw err; fs.readFile(file, (err, data) => { if (err) throw err; console.log(data.toString()); }); });
Závěr
Tímto jsme uzavřeli tento návod. Metody pro práci se soubory můžete využít k automatizaci rutinních úkolů ve vašich každodenních aktivitách. Doufáme, že jste si osvojili základní postupy pro práci se soubory v JavaScriptu.
Přejeme příjemné programování! 🙂