如何从保存文件对话框中仅获取文件名

7

我有一个保存文件对话框,我只想获取输入的文件名。相当于:

    openfiledialog.SafeFileName;

保存文件对话框没有 SafeFileName 属性,而 FileName 返回的是文件名、路径和扩展名。请问如何仅提取文件名。


1
考虑首先使用搜索引擎... c# 从文件路径中仅检索文件名 可以给出相当不错的答案。 - Alexei Levenkov
@cody-gray:这不应该被标记为重复。链接的问题是针对 OpenFileDialog,而这是 SaveFileDialog。链接重复的已接受答案将无法适用于 SaveFileDialog。 - Petter T
2个回答

19

如果您想要带有文件扩展名的文件名,请使用Path.GetFileName()。如果您还想要不带扩展名的文件名,请使用Path.GetFileNameWithoutExtension()

public void Test(string fileName)
{
    string path = Path.GetDirectoryName(fileName);
    string filename_with_ext = Path.GetFileName(fileName);
    string filename_without_ext = Path.GetFileNameWithoutExtension(fileName);
    string ext_only = Path.GetExtension(fileName);
}

详细信息请参阅 MSDN,尤其是 Path 类,它具有许多有用的方法:

http://msdn.microsoft.com/en-us/library/System.IO.Path_methods.aspx

http://msdn.microsoft.com/en-us/library/system.io.path.getfilename.aspx

http://msdn.microsoft.com/en-us/library/system.io.path.getfilenamewithoutextension.aspx


2
我找到了另一个解决我的问题的方法。
    FileInfo fi = new FileInfo(saveFileDialog1.FileName);
    string text = fi.Name;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接