C#.NET - 删除的路径是目录还是文件

3 c# file-io

如何使用C#.Net 识别已删除的路径是文件还是目录?

谢谢

Jør*_*ode 10

假设文件/目录实际存在,您可以使用两个静态方法:

两者都接受单个字符串参数,如果文件/目录存在则返回布尔值.

另一种情况是,当您有一个引用文件系统中现有文件/目录的路径时- 可能它指向数据库中的某种"虚拟文件/目录",或者路径指向文件/目录,以前存在,但现在(可能)删除了.在这种情况下,您必须自己定义"类似路径的文件"和"类似路径的目录"的区别.我可以想到两种方法:

  • 答:目录路径以目录分隔符结束(由Wael Dalloul建议)
  • B:文件路径在其最后一个路径令牌中有一个扩展名分隔符

让我们在几个示例输入字符串上测试两种方法:

  • c:\windows\ 是两种情况下的目录
  • c:\windows 仅在使用方法B时才是目录
  • c:\windows\notepad.exe 在这两种情况下都是一个文件
  • c:\windows\system32\drivers\etc\hosts 是仅在方法A中的文件

正如这些示例所指出的,除非您能够从头开始精确控制路径的设计,否则两种方法都不能保证在所有情况下都给出预期的答案.