Moduł systemu plików Node.js
Node.js jako serwer plików
Moduł systemu plików Node.js umożliwia pracę z systemem plików na komputerze.
Aby dołączyć moduł systemu plików, użyj
require()
metody:
var fs = require('fs');
Typowe zastosowanie modułu systemu plików:
- Czytaj pliki
- Utwórz pliki
- Zaktualizuj pliki
- Usuń pliki
- Zmień nazwy plików
Czytaj pliki
Metoda fs.readFile()
służy do odczytywania plików na twoim komputerze.
Załóżmy, że mamy następujący plik HTML (znajdujący się w tym samym folderze co Node.js):
demofile1.html
<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>
Utwórz plik Node.js, który odczytuje plik HTML i zwraca zawartość:
Przykład
var http = require('http');
var fs = require('fs');
http.createServer(function
(req, res) {
fs.readFile('demofile1.html', function(err, data) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);
Zapisz powyższy kod w pliku o nazwie „demo_readfile.js” i zainicjuj plik:
Zainicjuj demo_readfile.js:
C:\Users\Your Name>node demo_readfile.js
Jeśli wykonałeś te same kroki na swoim komputerze, zobaczysz taki sam wynik jak w przykładzie: http://localhost:8080
Utwórz pliki
Moduł File System posiada metody tworzenia nowych plików:
fs.appendFile()
fs.open()
fs.writeFile()
Metoda fs.appendFile()
dołącza określoną zawartość do pliku. Jeśli plik nie istnieje, plik zostanie utworzony:
Przykład
Utwórz nowy plik za pomocą metody appendFile():
var fs = require('fs');
fs.appendFile('mynewfile1.txt', 'Hello
content!', function (err) {
if (err) throw err;
console.log('Saved!');
});
Metoda fs.open()
przyjmuje "flagę" jako drugi argument, jeśli flaga to "w" dla "zapisu", określony plik jest otwierany do zapisu. Jeśli plik nie istnieje, tworzony jest pusty plik:
Przykład
Utwórz nowy, pusty plik za pomocą metody open():
var fs = require('fs');
fs.open('mynewfile2.txt', 'w', function (err,
file) {
if (err) throw err;
console.log('Saved!');
});
Metoda fs.writeFile()
zastępuje określony plik i zawartość, jeśli istnieje. Jeśli plik nie istnieje, zostanie utworzony nowy plik zawierający określoną zawartość:
Przykład
Utwórz nowy plik za pomocą metody writeFile():
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'Hello
content!', function (err) {
if (err) throw err;
console.log('Saved!');
});
Aktualizuj pliki
Moduł File System posiada metody aktualizacji plików:
fs.appendFile()
fs.writeFile()
Metoda fs.appendFile()
dołącza określoną zawartość na końcu określonego pliku:
Przykład
Dołącz „To jest mój tekst”. na końcu pliku "mójnowyplik1.txt":
var fs = require('fs');
fs.appendFile('mynewfile1.txt', ' This is my
text.', function (err) {
if (err) throw err;
console.log('Updated!');
});
Metoda fs.writeFile()
zastępuje określony plik i zawartość:
Przykład
Zastąp zawartość pliku „mynewfile3.txt”:
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
if (err) throw err;
console.log('Replaced!');
});
Usuń pliki
Aby usunąć plik z modułem systemu plików, użyj fs.unlink()
metody.
Metoda fs.unlink()
usuwa określony plik:
Przykład
Usuń „mójnowyplik2.txt”:
var fs = require('fs');
fs.unlink('mynewfile2.txt', function (err) {
if (err) throw err;
console.log('File deleted!');
});
Zmień nazwy plików
Aby zmienić nazwę pliku za pomocą modułu System plików, użyj fs.rename()
metody.
Metoda fs.rename()
zmienia nazwę określonego pliku:
Przykład
Zmień nazwę „mynewfile1.txt” na „myrenamedfile.txt”:
var fs = require('fs');
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
if (err) throw err;
console.log('File Renamed!');
});
Prześlij pliki
Możesz także użyć Node.js do przesyłania plików na swój komputer.
Przeczytaj o tym w naszym rozdziale Przesyłanie plików Node.js.