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

标签 c# file-io

如何使用 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/

相关文章:

c++ - 在 C++ 中读取文件并处理可能的错误的可移植方法

c++ - 如何在 C++ 中将文件中的非间隔整数读入数组?

c# - 将 PDF 转换为 PDF/A3 或将 PDF/A-1 转换为 PDF/A-3

c# - 有没有办法在 C#/.NET 2.0 中将 C 格式字符串转换为 C# 格式字符串?

c# - 带有 "URI prefix is not recognized."的 WebRequest 结果

c# - 文件检查与打印

c++ - 按照预期的方式使用迭代器、ifstream、ofstream

java - 读取文件并将名称和数字存储在两个数组中

c# - 在这种简单的情况下,如何使我的单元测试彼此独立?

c# - 优化 : VB. 从文件中加载图像并即时调整大小;目标:快速