Node FS – NodeJS Utwórz plik, odczytaj plik, zapisz do pliku

Node FS – NodeJS Utwórz plik, odczytaj plik, zapisz do pliku

Wprowadzenie

System plików Node (Node FS) to moduł wbudowany w Node.js, który pozwala na interakcję z systemem plików systemu operacyjnego. Udostępnia zestaw funkcji umożliwiających tworzenie, odczytywanie, zapisywanie, usuwanie i modyfikację plików i katalogów. Dzięki Node FS programiści mogą łatwo zarządzać plikami i katalogami, co jest niezbędne w wielu projektach Node.js, takich jak przetwarzanie plików, przechowywanie danych i tworzenie aplikacji internetowych.

W tym artykule omówimy podstawowe operacje na plikach przy użyciu Node FS, w tym:

– Tworzenie pliku
– Odczytywanie pliku
– Zapisywanie do pliku

Tworzenie pliku

Aby utworzyć plik za pomocą Node FS, możemy użyć funkcji fs.writeFile(). Funkcja ta przyjmuje trzy argumenty:

1. Ścieżka do pliku: Ścieżka do pliku, który chcemy utworzyć.
2. Dane: Dane, które chcemy zapisać w pliku. Może to być łańcuch, bufor lub obiekt.
3. Callback: Funkcja zwrotna, która zostanie wywołana po zakończeniu operacji.

Na przykład, aby utworzyć nowy plik o nazwie nowy-plik.txt z treścią „Hello, world!”, możemy użyć następującego kodu:

javascript
const fs = require('fs');

fs.writeFile('nowy-plik.txt', 'Hello, world!', (err) => {
if (err) {
console.error(err);
} else {
console.log('Plik utworzony pomyślnie');
}
});

Jeśli plik już istnieje, zostanie nadpisany nową zawartością.

Tworzenie katalogu

Aby utworzyć katalog za pomocą Node FS, możemy użyć funkcji fs.mkdir(). Funkcja ta przyjmuje dwa argumenty:

1. Ścieżka do katalogu: Ścieżka do katalogu, który chcemy utworzyć.
2. Callback: Funkcja zwrotna, która zostanie wywołana po zakończeniu operacji.

Na przykład, aby utworzyć nowy katalog o nazwie nowy-katalog, możemy użyć następującego kodu:

javascript
const fs = require('fs');

fs.mkdir('nowy-katalog', (err) => {
if (err) {
console.error(err);
} else {
console.log('Katalog utworzony pomyślnie');
}
});

Jeśli katalog już istnieje, funkcja fs.mkdir() zwróci błąd.

Odczytywanie pliku

Aby odczytać plik za pomocą Node FS, możemy użyć funkcji fs.readFile(). Funkcja ta przyjmuje trzy argumenty:

1. Ścieżka do pliku: Ścieżka do pliku, który chcemy odczytać.
2. Opcje: Obiekt opcji określający format danych wyjściowych (np. łańcuch, bufor lub obiekt).
3. Callback: Funkcja zwrotna, która zostanie wywołana po zakończeniu operacji.

Na przykład, aby odczytać plik nowy-plik.txt jako łańcuch, możemy użyć następującego kodu:

javascript
const fs = require('fs');

fs.readFile('nowy-plik.txt', 'utf8', (err, data) => {
if (err) {
console.error(err);
} else {
console.log(data);
}
});

Funkcja fs.readFile() domyślnie zwraca bufor. Aby odczytać plik jako obiekt, możemy użyć opcji json:

javascript
fs.readFile('nowy-plik.json', 'utf8', (err, data) => {
if (err) {
console.error(err);
} else {
const obiekt = JSON.parse(data);
console.log(obiekt);
}
});

Zapisywanie do pliku

Aby zapisać do pliku za pomocą Node FS, możemy użyć funkcji fs.writeFile(). Funkcja ta przyjmuje trzy argumenty:

1. Ścieżka do pliku: Ścieżka do pliku, do którego chcemy zapisać.
2. Dane: Dane, które chcemy zapisać w pliku. Może to być łańcuch, bufor lub obiekt.
3. Callback: Funkcja zwrotna, która zostanie wywołana po zakończeniu operacji.

Na przykład, aby zapisać łańcuch „Nowa zawartość” do pliku nowy-plik.txt, możemy użyć następującego kodu:

javascript
const fs = require('fs');

fs.writeFile('nowy-plik.txt', 'Nowa zawartość', (err) => {
if (err) {
console.error(err);
} else {
console.log('Plik zaktualizowany pomyślnie');
}
});

Jeśli plik nie istnieje, zostanie utworzony.

Dodawanie do pliku

Aby dodać do pliku za pomocą Node FS, możemy użyć funkcji fs.appendFile(). Funkcja ta przyjmuje trzy argumenty:

1. Ścieżka do pliku: Ścieżka do pliku, do którego chcemy dodać.
2. Dane: Dane, które chcemy dodać do pliku. Może to być łańcuch, bufor lub obiekt.
3. Callback: Funkcja zwrotna, która zostanie wywołana po zakończeniu operacji.

Na przykład, aby dodać łańcuch „Dodatkowa zawartość” do pliku nowy-plik.txt, możemy użyć następującego kodu:

javascript
const fs = require('fs');

fs.appendFile('nowy-plik.txt', 'Dodatkowa zawartość', (err) => {
if (err) {
console.error(err);
} else {
console.log('Dane dodane do pliku pomyślnie');
}
});

Podsumowanie

Node FS jest potężnym modułem, który pozwala na łatwe zarządzanie plikami i katalogami w aplikacjach Node.js. Udostępnia zestaw funkcji umożliwiających tworzenie, odczytywanie, zapisywanie i usuwanie plików i katalogów, co jest niezbędne w wielu projektach Node.js. W tym artykule omówiliśmy podstawowe operacje na plikach przy użyciu Node FS, takie jak tworzenie plików, odczytywanie plików i zapisywanie do plików.

Rozumiejąc koncepcje opisane w tym artykule, programiści Node.js mogą manipulować plikami i katalogami w elastyczny i wydajny sposób, tworząc zaawansowane aplikacje, które wykorzystują system plików do przechowywania i przetwarzania danych.

Często zadawane pytania (FAQ)

1. Co to jest Node FS?
Node FS to moduł wbudowany w Node.js, który pozwala na interakcję z systemem plików systemu operacyjnego.

2. Jak utworzyć plik za pomocą Node FS?
Możesz utworzyć plik za pomocą funkcji fs.writeFile().

3. Jak odczytać plik za pomocą Node FS?
Możesz odczytać plik za pomocą funkcji fs.readFile().

4. Jak zapisać do pliku za pomocą Node FS?
Możesz zapisać do pliku za pomocą funkcji fs.writeFile().

5. Jak dodać do pliku za pomocą Node FS?
Możesz dodać do pliku za pomocą funkcji fs.appendFile().

6. Jak stworzyć katalog za pomocą Node FS?
Możesz stworzyć katalog za pomocą funkcji fs.mkdir().

7. Jak sprawdzić, czy plik istnieje za pomocą Node FS?
Możesz użyć funkcji fs.exists() lub fs.access() w celu sprawdzenia istnienia pliku.

8. Jak usunąć plik lub katalog za pomocą Node FS?
Możesz użyć funkcji fs.unlink() w celu usunięcia pliku i fs.rmdir() w celu usunięcia katalogu.

9. Jak odczytać zawartość katalogu za pomocą Node FS?
Możesz użyć funkcji fs.readdir() w celu odczytania zawartości katalogu.

10. Jak monitorować zmiany w plikach za pomocą Node FS?
Możesz użyć funkcji fs.watch() w celu monitorowania zmian w plikach.