如何从文件的完整路径获取目录?

获取文件所在目录的最简单方法是什么? 我正在使用它来设置工作目录。

string filename = @"C:\MyDirectory\MyFile.bat";

在这个例子中,我应该得到“C:\\ MyDirectory”。


#1楼

如果您正在使用FileInfo对象,则可以通过DirectoryName属性轻松提取目录的完整路径的string表示形式。

通过MSDN描述FileInfo.DirectoryName属性:

获取表示目录的完整路径的字符串。

样品用法:

string filename = @"C:\MyDirectory\MyFile.bat";
FileInfo fileInfo = new FileInfo(filename);
string directoryFullPath = fileInfo.DirectoryName; // contains "C:\MyDirectory"

链接到MSDN文档


#2楼

首先,您必须使用System.IO命名空间。 然后;

string filename = @"C:\MyDirectory\MyFile.bat";
string newPath = Path.GetFullPath(fileName);

要么

string newPath = Path.GetFullPath(openFileDialog1.FileName));

#3楼

使用下面提到的代码来获取文件夹路径

Path.GetDirectoryName(filename);

在您的情况下,这将返回“C:\\ MyDirectory”


#4楼

您可以使用以下方式获取当前的Application Path:

string AssemblyPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location).ToString();

祝好运!


#5楼

在大多数情况下,您可以使用Path.GetFullPath 。 但是如果你想在文件名相对位置的情况下获得路径,那么你可以使用下面的泛型方法:

string GetPath(string filePath)
{
  return Path.GetDirectoryName(Path.GetFullPath(filePath))
}

例如:

GetPath("C:\\Temp\\Filename.txt")返回"C:\\Temp\\"

GetPath("Filename.txt")返回current working directory"C:\\Temp\\"


#6楼

在我的情况下,我需要找到一个完整路径(目录)的目录名称,所以我只是做了:

var dirName = path.Split('\\').Last();

#7楼

如果您确实有绝对路径,请使用Path.GetDirectoryName(path)

如果您可能只获得相对名称,请使用new FileInfo(path).Directory.FullName

请注意, PathFileInfo都在命名空间System.IO找到。


#8楼

Path.GetDirectoryName(filename);

#9楼

您可以使用Path.GetDirectoryName并传入文件名。

MSDN链接


#10楼

System.IO.Path.GetDirectoryName(filename)

#11楼

您可以使用System.IO.Path.GetDirectory(filename) ,或将路径转换为FileInfo ,并使用FileInfo.Directory

如果您正在使用路径执行其他操作,则FileInfo可能具有优势。

发布了0 篇原创文章 · 获赞 2 · 访问量 4994

猜你喜欢

转载自blog.csdn.net/asdfgh0077/article/details/104027539
今日推荐