如何只获取文件名而不获取文件路径

本文关键字:获取 文件 路径 文件名 | 更新日期: 2023-09-27 18:10:32

我有这样的代码:

openFileDialog1.Filter = "csv files (*.dbf)|*.dbf";
openFileDialog1.FilterIndex = 1;
openFileDialog1.RestoreDirectory = true;
openFileDialog1.FileName = "";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
   dbf_File = openFileDialog1.FileName;
}

在dbf_File我得到所有的文件路径和名称(c:'MyDir'MyFile.dbf)

我只需要名称- MyFile.dbf

如何只获取文件名而不获取文件路径

仅限文件名(带扩展名):

dbf_File = System.IO.Path.GetFileName(dbf_File);

仅包含目录:

string dbf_Path = System.IO.Path.GetDirectoryName(dbf_File);

路径。GetFilenameWithoutExtension -不带扩展

路径。GetFilename -带扩展名

我认为你想要Path.GetFileName,它返回:

path中最后一个目录字符之后的字符。如果path的最后一个字符是目录或卷分隔符,则此方法返回String.Empty.

(这听起来像是与你的标题相反,你确实想要文件扩展名-你不想要包含文件的目录路径。)

使用Path.GetFileName

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

如果你只是想要一个没有扩展名的文件名,就像你在标题中说的那样(但后来似乎不想在你的实际帖子中),你可以使用Path.GetFileNameWithoutExtension .

openFileDialog1。SafeFileName将获取MyFile.dbf

dbf_File = path.split("'").getValue (path.split("'").Lenth-1);