3

我正在构建一个 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;
    }
}
4

3 回答 3

9

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

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

于 2012-12-04T17:49:56.600 回答
4

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

于 2012-12-04T17:50:06.340 回答
0

使用FileInfo构造函数。

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

或使用Path.GetInvalidPathChars方法

它获取一个数组,其中包含路径名中不允许的字符。

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

char[] invalidFileChars = Path.GetInvalidFileNameChars();
于 2012-12-04T17:53:55.130 回答