如何使用 C# .Net 识别删除路径是文件还是目录?
谢谢
最佳答案
假设文件/目录真实存在,可以使用两种静态方法:
两者都接受一个字符串参数,如果文件/目录存在则返回一个 bool 值。
另一种情况是当您有一个路径不引用文件系统中的现有文件/目录时 - 也许它指向数据库中的某种“虚拟文件/目录”,或者路径指向曾经存在但现在(可能)已删除的文件/目录。在这种情况下,您必须自己定义“文件类路径”和“目录类路径”的区别。我可以想到两种方法:
- A:目录路径以目录分隔符结尾(如 Wael Dalloul 所建议)
- B:文件路径在其最后一个路径标记中有一个扩展分隔符
让我们在几个示例输入字符串上测试这两种方法:
c:\windows\
在这两种情况下都是一个目录c:\windows
是仅在使用方法 B 时的目录c:\windows\notepad.exe
在这两种情况下都是一个文件c:\windows\system32\drivers\etc\hosts
是方法 A 中的一个文件
正如这些示例所指出的,这两种方法都不能保证在所有情况下都能给出预期的答案,除非您能够从一开始就准确控制路径的设计方式。
关于C# .NET - 删除的路径是目录还是文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1382907/