2015-07-25 2 views
0

Je cherche à déterminer si un chemin de système de fichiers est un répertoire ou un fichier. Je ne cherche pas à vérifier le type d'un chemin existant. J'essaie de déterminer si la chaîne d'argument de la fonction path fait référence à un répertoire ou un fichier.Comment déterminer si le chemin du système de fichiers est un répertoire ou un fichier?

Comment puis-je faire une distinction entre un fichier et un répertoire lorsque ceci:

/Users/thomas/Desktop/node 

Le chemin suivant pourrait se référer à un répertoire node ou un fichier node sans extension.

Je pensais utiliser un / pour connoter le répertoire.

Donc, cela signifierait un répertoire:

/Users/thomas/Desktop/node/ 

Et cela signifierait un fichier:

/Users/thomas/Desktop/node 

Cependant path de nœud méthodes comme .resolve() et .join() ne prennent pas en considération l'/ arrière et toujours retirez-le. Alors est-ce une bonne pratique?

Répondre

2

Il n'existe aucun moyen de vérifier si une chaîne arbitraire est un répertoire ou un fichier s'il n'existe pas.

Cependant pour les chemins existants, vous pouvez utiliser fs.stat() sur le chemin, qui vous donnera un objet qui a des méthodes pour vérifier le type de chemin (par exemple isDirectory(), isFile(), etc.).