Entrada

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.