Node.js Trabajar con archivos
fs accessSync
Este módulo comprueba si un archivo es accesible si no lo es, es decir, si no exisrem lanzará una excepción:
1
2
3
4
5
6
7
8
9
function fileExists(path) {
try {
if (fs.accessSync(path)) {
// Si existe
}
} catch(err) {
return console.error(err.message);
}
}
La solución anterior es válida, pero ¿Qué pasaría si hay un directorio y un archivo con el mismo nombre?. Lo que pasaría es que no lanzaría ninguna excepción y si olvidamos esto, nos puede causar un dolor de cabeza.
En esos casos, una solución más viable sería statSync
, esta función te permite saber si el archivo encontrado es un directorio o un archivo:
1
2
3
4
5
6
7
function fileExists(path) {
try {
return fs.statSync(path).isFile();
} catch (e) {
return false;
}
}
Esta entrada está licenciada bajo CC BY 4.0 por el autor.