node js logo

Node JavaScript – operacje na systemie plików

Zobaczymy kilka z podstawowych funkcji modułu fs wbudowanego w Node.js, aby wykonywać proste operacje na systemie plików.

Treść:




Wymagany moduł:

Moduł fs udostępnia nam API do interakcji z systemem plików w sposób ściśle wzorowany na standardowych funkcjach POSIX.

const fs = require('fs');

POSIX dotyczy przede wszystkim systemów klasy UNIX. Implementacje POSIX zawarte zostały w systemach takich jak Mac OS X 10.5QNXBeOS i AtheOS / SyllableGNU/Linux oraz FreeBSD są w znacznym stopniu lub często nawet w pełni zgodne z tym standardem. Niektóre z dystrybucji Linuksa, np. Linux-FT[1] czy Unifix Linux[2], przeszły pomyślnie procedury testowe i uzyskały świadectwo zgodności. Dla użytkowników Microsoft Windows dostępne są środowiska Cygwin i Interix, które umożliwiają w tym systemie korzystanie z POSIX-owego interfejsu programistycznego.

Odczyt zawartości katalogu.

Do wyświetlenia zawartości katalogu wykorzystamy funkcję readdir(). Przyjmie dwa parametry:

  • ścieżke pliku do odczytania,
  • callback zwracający błąd lub zawartość katalogu
fs.readdir('./', (err, content)=>{
 if(err) return err;
 console.log(content);
});

Odczyt pliku.

Do odczytu pliku wykorzystamy funkcję readFile(). Przyjmie trzy parametry:

  • ścieżke pliku do odczytania,
  • system kodowania znaków,
  • callback zwracający błąd lub treść pliku
fs.readFile('index.html', 'UTF-8', (err, content)=>{
 if(err) return err;
 console.log(content);
});

Tworzenie nowego pliku.

W tym celu użyjemy writeFile()Jako parametry podamy:

  • lokalizacji nowego pliku,
  • treść,
  • system kodowania znaków,
  • callback zwracający błąd
fs.writeFile('./data.html', '\n Cześć, ten plik został przed chwila stworzony. \n', 'utf-8', (err)=>{    
 if(err) return err;
 console.log("Plik został zapisany.");
});

Dzięki funkcji appendFile(), możemy dodać treść do pliku.

fs.appendFile('./data.html', '\n Dodatkowa treść pojawiła się w pliku. \n', 'utf-8', (err)=>{
 if(err) return err;    
 console.log("Plik został zapisany.");
});

Tworzenie katlogu.

if(!fs.exists("views")){
 fs.mkdir("views", (err)=>{
  if(err) return err;
  fs.writeFile("./views/new.html", 'To nowy plik i dane.', err)=>{
   if(err) return err;
   console.log('Katalog oraz plik zostały zapisane.');
  });
 });
}

Usuwanie pliku i katalogu.

fs.rmdirSync('./newDir');
try {
    fs.unlinkSync('./remove-file.js');
} catch (err){
    console.log(err + 'oto error');
}

Zmiana nazwy katalogu.

fs.renameSync('./newDir/newfile.js','./newfile2.js');

Wspomniane tutaj funkcje to nic skomplikowanego z punktu widzenia kogoś kto ma je implementować, jednakże w kombinacji z innnymi możliwościami Node.js stanowią coś co daje wiele możliwości.



A.

Dodaj komentarz