我正在构建一个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;
}
}
答案 0 :(得分:8)
请使用File.Exists方法。它不会抛出异常。来自MSDN:
true 如果调用者具有所需权限,路径包含现有文件的名称;否则, false 。如果 path null ,无效路径或零长度字符串,此方法也会返回 false 。如果调用者没有足够的权限来读取指定的文件,则不会抛出任何异常,并且无论是否存在 path ,该方法都会返回 false 。
答案 1 :(得分:3)
FileInfo
将抛出异常。如果您想知道该文件是否已存在,请检查FileInfo.Exists
属性。
答案 2 :(得分:0)
使用FileInfo
构造函数。
如果文件名为空,它将抛出
ArgumentException
, 仅包含空格或包含无效字符。它可以 也抛出SecurityException
或使用Path.GetInvalidPathChars
方法
它获取一个包含路径中不允许的字符的数组 名。
//获取无效文件字符列表。
char[] invalidFileChars = Path.GetInvalidFileNameChars();