我想确定文件系统路径是目录还是文件。我不打算检查现有路径的类型。我正在尝试确定路径函数参数字符串是否指的是目录或文件。
在以下情况下如何区分文件和目录:
/Users/thomas/Desktop/node
以下路径可以引用目录node
,也可以引用没有扩展名的文件node
。
我正在考虑使用尾随/
来表示目录。
所以这意味着一个目录:
/Users/thomas/Desktop/node/
这意味着一个文件:
/Users/thomas/Desktop/node
然而,path
和.resolve()
之类的节点.join()
方法不会考虑尾随/
并始终将其删除。这是一个好习惯吗?
答案 0 :(得分:3)
如果任意字符串不是目录或文件,则无法检查它是否存在。
但是对于现有路径,您可以在路径上使用fs.stat()
,这将为您提供一个对象,该对象具有检查路径类型的方法(例如isDirectory()
,isFile()
等)