【问题标题】:C# check that a file destination is validC# 检查文件目标是否有效
【发布时间】:2009-02-12 12:46:21
【问题描述】:

是否有标准函数来检查指定目录是否有效?

我问的原因是我从用户那里收到一个绝对目录字符串和文件名,我想彻底检查该位置以检查它是否有效。

【问题讨论】:

    标签: c# io sanity-check


    【解决方案1】:

    对于一个文件

    File.Exists(string)
    

    对于目录

    Directory.Exists(string)
    

    注意: 如果您正在重用一个对象,您应该考虑使用 FileInfo 类与静态 File 类。 File 类的静态方法每次都可能进行不必要的安全检查。
    FileInfo - DirectoryInfo - File - Directory

     FileInfo fi = new FileInfo(fName);
     if (fi.Exists)
        //Do stuff
    

    DirectoryInfo di = new DirectoryInfo(fName);
     if (di.Exists)
        //Do stuff
    

    【讨论】:

      【解决方案2】:
      if(System.IO.File.Exists(fileOrDirectoryPath))
      {
          //do stuff
      }
      

      这应该可以解决问题!

      【讨论】:

        【解决方案3】:

        如果它不能是一个新目录,你可以检查它是否存在。

        看来您也可以使用 Path.GetInvalidPathChars 来检查无效字符。

        【讨论】:

          【解决方案4】:

          您可能还需要考虑有效路径本身并不是 100% 有效的。如果用户提供 C:\windows\System32 或 CD 驱动器,则操作系统在尝试写入时可能会引发异常。

          【讨论】:

            【解决方案5】:

            关于检查给定文件或目录是否存在,前面的答案是正确的。 Path 类还包含许多可用于验证或操作路径的各种组件的函数。

            【讨论】:

              猜你喜欢
              • 2014-08-09
              • 2015-11-15
              • 2020-02-10
              • 2015-09-28
              • 2011-07-01
              • 2012-03-15
              • 1970-01-01
              • 2020-08-20
              • 2013-12-07
              相关资源
              最近更新 更多