如何从路径字符串中只获取文件名部分

本文关键字:获取 文件名部 字符串 路径 | 更新日期: 2023-09-27 17:52:51

可能重复:
如何在C#中获取目录中文件的名称

例如,如果我有:

d:'test'text.txtd:'test'test5'test.bmp

我希望例如string t中只有text.txt作为字符串或者t将是test.bmp

因此t将只包含路径字符串中的文件名部分。

代码:

public WmvAdapter(string file, string outFolder)
{
    path_exe = path_exe = Path.GetDirectoryName(Application.LocalUserAppDataPath);
    histograms_dat_fileName = "histogramValues.dat";
    histograms_dat_filenameRGB = "histogramValuesRGB.dat";
    histograms_dat_fileName_Directory = path_exe + "''" + "dat file";

如果文件是例如d:'text'text.txt所以

histograms_dat_fileName_Directory = path_exe + "''" + "dat file"; 

将是:

histograms_dat_fileName_Directory = path_exe + "''" + "dat file" + "''" + "text.txt";

因此,当我稍后创建文件时,它将位于目录中,例如:

c:'myuser'appdata'local'dat file'text.txt'

text.txt是一个路径''文件夹,而不是一个文本文件。我希望将其创建为路径。

今天的路径是例如:c:'myuser'appdata'local'dat file

但我想为每个文件名创建另一个路径。

如何从路径字符串中只获取文件名部分

使用Path.GetFileName:

Path.GetFileName(@"d:'test'text.txt")

返回"text.txt"

使用Path.GetFileNamePath.Combine:

string path = Path.Combine(path_exe, "dat file", Path.GetFileName(file));
string fileName = Path.GetFileName("d:''test''test5''test.bmp");
// fileName now contains "test.bmp"