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ć…