【问题标题】:Determine via C# whether a File Path is valid and exists通过 C# 确定文件路径是否有效且存在
【发布时间】:2012-12-04 17:48:25
【问题描述】:

我正在构建一个 WinForms 应用程序,该应用程序通过 SaveFileDialog 接收来自用户的路径。

这是我的代码的相关部分。如何判断路径pcapFile是否有效且存在?

private void btnBrowse_Click(object sender, EventArgs e)
{
    SaveFileDialog saveFileDialogBrowse = new SaveFileDialog();
    saveFileDialogBrowse.Filter = "Pcap file|*.pcap";
    saveFileDialogBrowse.Title = "Save an pcap File";
    saveFileDialogBrowse.ShowDialog();
    pcapFile = saveFileDialogBrowse.FileName; //do whatever you like with the selected filename

    if (pcapFile != "")
    {
        FileInfo fileInfo = new FileInfo(pcapFile);
        tbOutputFileName.Text = fileInfo.FullName;
    }
}

【问题讨论】:

    标签: c# winforms validation path


    【解决方案1】:

    请使用File.Exists 方法。它不会抛出异常。来自 MSDN:

    true 如果调用者具有所需的权限并且 path 包含现有文件的名称;否则,错误。如果 pathnull、无效路径或零长度字符串,此方法也会返回 false。如果调用者没有足够的权限读取指定的文件,则不抛出异常,并且无论path是否存在,该方法都返回false

    【讨论】:

      【解决方案2】:

      FileInfo 如果提供给它的路径格式不正确,将引发异常。如果您想知道该文件是否已存在,请检查 FileInfo.Exists 属性。

      【讨论】:

        【解决方案3】:

        使用FileInfo 构造函数。

        如果文件名为空,它会抛出一个ArgumentException, 仅包含空格,或包含无效字符。它可以 也抛出SecurityException

        或者使用Path.GetInvalidPathChars方法

        it 获取一个包含路径中不允许出现的字符的数组 名字。

        // 获取无效文件字符列表。

        char[] invalidFileChars = Path.GetInvalidFileNameChars();
        

        【讨论】:

          猜你喜欢
          • 2011-03-05
          • 1970-01-01
          • 2011-09-06
          • 2020-05-18
          • 2014-06-27
          • 2019-09-04
          • 2014-10-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多