如何从应用程序的完整路径中获取文件夹名称?
下面是文件路径,
c:\projects\root\wsdlproj\devlop\beta2\text
这里的“text”是文件夹名。
如何从此路径获取该文件夹名称?
string dirName = new DirectoryInfo(@"c:\projects\roott\wsdlproj\devlop\beta2\text").Name;
我认为你想从文件路径中获取父文件夹的名称。这很容易实现。
其中一种方法是创建一个FileInfo
类型的对象并使用它的Directory
属性。
示例:
FileInfo fInfo = new FileInfo("c:\projects\roott\wsdlproj\devlop\beta2\text\abc.txt");
String dirName = fInfo.Directory.Name;
试试这个
var myFolderName = @"c:\projects\roott\wsdlproj\devlop\beta2\text";
var result = Path.GetFileName(myFolderName);
@"c:\projects\roott\wsdlproj\devlop\beta2\text\"
- Kristof Claes你可以使用这个:
string path = @"c:\projects\roott\wsdlproj\devlop\beta2\text";
string lastDirectory = path.Split(new char[] { System.IO.Path.DirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries).Last();
StringSplitOptions.RemoveEmptyEntries
就是关键。 - Kristof Claes只需使用 Path.GetFileName
这里 - 从文件夹的完整路径中提取文件夹名称:
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"
我认为除了进入文件系统查找text.txt是目录还是文件以外,没有其他方法。如果你想要简单的方法,可以使用以下代码:
s.Substring(s.LastIndexOf(@"\"));
string strPath = Server.MapPath(Request.ApplicationPath) + "/contents/member/" + strFileName;
这里有一种替代方法,可以避免创建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);
var directoryName = System.IO.Path.GetFileName(@"c:\projects\roott\wsdlproj\devlop\beta2\text");