【问题标题】:How to tell whether a file system object is a path or a directory [duplicate]如何判断文件系统对象是路径还是目录[重复]
【发布时间】:2010-11-03 11:00:33
【问题描述】:

可能重复:
.NET How to check if path is a file and not a directory?

谁能想到一个判断文件系统对象路径是否等同于文件或目录的好方法?

我确实有以下方法:

public static bool PathIsFile(this string fullPath)
{
    return (Path.GetExtension(fullPath).Length > 0);
}

但有些文件没有扩展名,有些目录的名称中有一个点,所以这不是删减它。

【问题讨论】:

标签: c# .net file directory


【解决方案1】:

你检查了吗:

System.IO.Directory.Exists(path);

System.IO.File.Exists(path);

这些返回布尔值,但我不知道(目前)如果分别给定一个文件或目录,它们会引发什么错误。

这里还有 System.IO.FileInfoSystem.IO.DirectoryInfo 类可以帮助你。

【讨论】:

    【解决方案2】:

    无法仅从字符串分析中知道某物是文件还是目录,因为正如您所指出的,

    C:\WINDOWS\WhoKnowsWhatThisIs
    

    可能是目录或文件。

    您必须拨打System.IO.Directory.Exists()System.IO.File.GetAttributes() 之类的电话进行测试。

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      您必须询问文件系统。它总是知道的。这是唯一万无一失的方法。

      f1 = File(path);
      bool isfile = f1.isFile();
      bool isdir = f1.isDirectory();
      

      是来自 Java.IO.File 的示例。

      【讨论】:

      • 您可能希望将“java”添加到“感兴趣的标签”中,以便您可以快速查看哪些问题与 Java 相关,哪些问题与 Java 无关
      【解决方案5】:
      猜你喜欢
      • 1970-01-01
      • 2010-09-13
      • 2013-04-28
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-01
      相关资源
      最近更新 更多