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.