JavaScript, popularny język programowania, umożliwia interakcję z plikami bezpośrednio w przeglądarce. Przyjrzyjmy się, jak to działa!
Środowisko NodeJS jest szeroko stosowane w skryptach, które wymagają operacji na plikach. NodeJS to w gruncie rzeczy platforma do uruchamiania kodu JavaScript poza przeglądarką. Zakładam, że posiadasz podstawowe zrozumienie tego, czym jest NodeJS.
Przejdźmy teraz do szczegółowego przewodnika, który wyjaśni Ci tajniki manipulacji plikami przy pomocy JavaScript.
Operacje na plikach w JavaScript
Obsługa plików obejmuje szeroki zakres działań, takich jak tworzenie, przeglądanie zawartości, modyfikowanie, zmienianie nazw i kasowanie. Aby móc wykonywać te operacje, potrzebujemy dostępu do plików z systemu operacyjnego. Nie musimy tworzyć tego dostępu od podstaw, ponieważ NodeJS udostępnia specjalny moduł o nazwie fs (system plików), który umożliwia obsługę plików.
Przyjrzyjmy się teraz konkretnym funkcjom dostępnym w module fs.
fs.open()
Funkcja `fs.open()` wymaga podania dwóch parametrów: ścieżki do pliku oraz trybu otwarcia.
Ścieżka (path) wskazuje lokalizację pliku w systemie plików.
Tryb (mode) definiuje, w jakim celu plik ma być otwarty, np. do dopisywania, zapisywania lub odczytywania danych.
Otwarcie pliku w konkretnym trybie pozwala na wykonywanie wyłącznie operacji odpowiadających danemu trybowi. Poniżej znajduje się lista dostępnych trybów oraz przypisanych im operacji.
Tryb
Operacja
’r’
Otwiera plik w trybie tylko do odczytu
’a’
Otwiera plik w trybie dopisywania danych na końcu
’w’
Otwiera plik w trybie zapisu, nadpisując poprzednią zawartość
’a+’
Otwiera plik w trybie dopisywania i odczytu
’w+’
Otwiera plik w trybie zapisu i odczytu
’r+’
Otwiera plik w trybie odczytu i zapisu
Jeżeli plik nie istnieje pod wskazaną ścieżką, przy otwarciu w trybie zapisu lub dopisywania, zostanie utworzony nowy, pusty plik. Zobaczmy, jak otworzyć plik w różnych trybach za pomocą kodu.
const fs = require("fs"); fs.open("sample.txt", "w", (err, file) => { if (err) throw err; console.log(file); });
Funkcja `fs.open()` zwróci błąd, jeżeli spróbujemy otworzyć nieistniejący plik w trybie odczytu. Natomiast, w trybach zapisu lub dopisywania, utworzy nowy, pusty plik.
Po otwarciu pliku, możemy wykonywać na nim różnorodne operacje. Pod koniec tego przewodnika napiszemy pełny program, który zademonstruje użycie kilku ważniejszych metod z modułu fs.
fs.appendFile()
Metoda `fs.appendFile()` służy do dodawania nowej treści na końcu istniejącego pliku. W przypadku, gdy plik nie istnieje, zostanie utworzony nowy. Spójrz na poniższy kod, aby zobaczyć, jak dopisać treść do pliku.
const fs = require("fs"); fs.appendFile("sample.txt", "Appending content", (err) => { if (err) throw err; console.log("Completed!"); });
fs.writeFile()
Funkcja `fs.writeFile()` umożliwia zapisywanie danych do pliku. Jeżeli plik nie istnieje w podanej lokalizacji, zostanie on utworzony. Wypróbuj poniższy kod, aby zapisać dane do pliku.
const fs = require("fs"); fs.writeFile("sample.txt", "Writing content", (err) => { if (err) throw err; console.log("Completed!"); });
fs.readFile()
Metoda `fs.readFile()` służy do odczytywania zawartości pliku. Wygeneruje błąd, jeśli plik nie występuje we wskazanej lokalizacji. Sprawdź poniższy kod, aby zobaczyć, jak działa.
const fs = require("fs"); fs.readFile("sample.txt", (err, data) => { if (err) throw err; console.log(data.toString()); });
fs.unlink()
Funkcja `fs.unlink()` jest wykorzystywana do usuwania pliku. W przypadku próby usunięcia nieistniejącego pliku, zostanie wygenerowany błąd. Zapoznaj się z poniższym przykładem kodu.
const fs = require("fs"); fs.unlink("sample.txt", (err) => { if (err) throw err; console.log("File deleted!"); });
fs.rename()
Metoda `fs.rename()` służy do zmiany nazwy pliku. Wygeneruje błąd, jeśli plik nie występuje w podanej ścieżce. Zmień nazwę następnego pliku, używając poniższego kodu. Pamiętaj, aby używać go z rozwagą!
const fs = require("fs"); fs.rename("sample.txt", "sample_one.txt", (err) => { if (err) throw err; console.log("File renamed!"); });
Dodatkowe informacje
Znasz już szereg metod umożliwiających operacje na plikach w module fs (system plików). Wykorzystując metody przedstawione w tym poradniku, możesz wykonywać większość operacji na plikach. Jak obiecaliśmy, przyjrzyjmy się przykładowemu skryptowi, który otwiera plik i wyświetla jego zawartość, korzystając z metod `fs.open()` i `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()); }); });
Podsumowanie
To wszystko w tym przewodniku. Możesz użyć tych metod manipulacji plikami do zautomatyzowania niektórych monotonnych zadań w codziennej pracy. Mam nadzieję, że udało Ci się zrozumieć podstawowe metody zarządzania plikami.
Udanego kodowania 🙂
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.