从完整文件路径获取文件夹名称

如何从应用程序的完整路径获取文件夹名称?

这是下面的文件路径,

c:\projects\root\wsdlproj\devlop\beta2\text

这里的“ text”是文件夹名。

如何从此路径获取文件夹名称?

171109 次浏览

试试这个

var myFolderName = @"c:\projects\roott\wsdlproj\devlop\beta2\text";
var result = Path.GetFileName(myFolderName);

DirectoryInfo.Name:

string dirName = new DirectoryInfo(@"c:\projects\roott\wsdlproj\devlop\beta2\text").Name;

你可以用这个:

string path = @"c:\projects\roott\wsdlproj\devlop\beta2\text";
string lastDirectory = path.Split(new char[] { System.IO.Path.DirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries).Last();

我认为您需要从文件路径获取父文件夹名称。 一种方法是创建一个 FileInfo类型对象并使用其 Directory属性。

例如:

FileInfo fInfo = new FileInfo("c:\projects\roott\wsdlproj\devlop\beta2\text\abc.txt");


String dirName = fInfo.Directory.Name;

在这种情况下,要获取的文件存储在 strpath 变量中:

string strPath = Server.MapPath(Request.ApplicationPath) + "/contents/member/" + strFileName;

这也可以这样做;

var directoryName = System.IO.Path.GetFileName(@"c:\projects\roott\wsdlproj\devlop\beta2\text");

我认为除了进入文件系统找出 text.txt 是一个目录还是仅仅是一个文件,没有其他办法。如果你想要一些简单的东西,也许你可以用:

s.Substring(s.LastIndexOf(@"\"));

下面是一个替代方法,它不需要创建 DirectoryInfo 对象就可以工作。关键的一点是,当路径中没有尾部斜杠时,GetFileName()可以工作。

var name = Path.GetFileName(path.TrimEnd(Path.DirectorySeparatorChar));

例如:

var list = Directory.EnumerateDirectories(path, "*")
.Select(p => new
{
id = "id_" + p.GetHashCode().ToString("x"),
text = Path.GetFileName(p.TrimEnd(Path.DirectorySeparatorChar)),
icon = "fa fa-folder",
children = true
})
.Distinct()
.OrderBy(p => p.text);

只需使用 Path.GetFileName

Here-从文件夹的完整路径中提取文件夹名称:

string folderName = Path.GetFileName(@"c:\projects\root\wsdlproj\devlop\beta2\text");//Return "text"

下面是从文件的完整路径中提取的一些额外的文件夹名称:

string folderName = Path.GetFileName(Path.GetDirectoryName(@"c:\projects\root\wsdlproj\devlop\beta2\text\GTA.exe"));//Return "text"

基于 previous 答案(但是固定)

using static System.IO.Path;


var dir = GetFileName(path?.TrimEnd(DirectorySeparatorChar, AltDirectorySeparatorChar));

.NET sourceGetFileName的解释:

返回给定路径的名称和扩展部分 字符串包含最后一个字符之后的路径字符 中的反斜杠(“”)、斜杠(“/”)或冒号(“ :”)字符 结果字符串是整个 path if path 删除尾部斜杠、斜杠或冒号字符后不包含反斜杠 如果 path 为 null,则 string 为 null。