node js logo

Node JavaScript – operacje na systemie plików

Sprawdź jak za pomocą podstawowych funkcji modułu fs
wbudowanego w Node.js, wykonywać proste operacje na systemie plików.

Treść:




Czy wyobrażałaś/eś sobię kiedyś jak byłoby kliknąć przycisk w przeglądarce internetowej i  usunąć tak wybrany plik z serwera? Jak stworzyć na serwerze plik tekstowy z treścią formularza? Czy może robiłeś to wcześniej używając PHP lub innego języka niż JavaScript? Może nie myślałeś o tym nigdy.

Wymagany moduł:

const fs = require('fs');

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.

Moduł  fs, wbudowany w Node.js daje nam więcej możliwości.
Jestem przekonany, że jeżeli bez problemu zrozumiałaś/eś poprzednie przykłady, to już wystarczy:

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');


A.

Dodaj komentarz