Uczymy się synchronicznie sprawdzać, czy dany plik jest plikiem czy folderem. Kontynuujemy poprzednie lekcje – do dzieła.

Zakładam, że poniższy kod rozumiemy:

var fs = require('fs'); 
const path = require("path");   

var fpath = path.join(__dirname, 'files', 'lorem.txt');

Piszemy funkcję isFile:


function isFile(fname){
    if(!fs.existsSync(fpath))
        return false;
    
}

Synchroniczny check czy plik istnieje już mamy. Teraz blok try-catch dla kolejnej funkcji synchronicznej, pobierającej statystyki:


function isFile(fname){
    if(!fs.existsSync(fpath))
        return false;
    try {
        const stats = fs.statSync(fname);
        return stats.isFile();
      } catch (err) {
        console.error(err);
      }
}

Będzie działać bez zarzutu:

console.log(isFile(fpath));
//true

Podobnie możemy napisać funkcję isDir:

function isDir(fname){
    if(!fs.existsSync(fpath))
        return false;
    try {
        const stats = fs.statSync(fname);
        return stats.isDirectory();
      } catch (err) {
        console.error(err);
      }
}

console.log(isDir(fpath));
//false

Temat będziemy kontynuować…