在与应用程序域路径相同的目录中获取文件夹

本文关键字:获取 文件夹 应用程序域 路径 | 更新日期: 2023-09-27 18:16:09

我有一个asp.net web应用程序,我需要得到一个文件夹的字符串路径在同一目录我的web应用程序。目前,我正在使用此代码来获取添加域路径。

string appPath = HttpRuntime.AppDomainAppPath;

返回"c:/path/webapp",我需要"c:/path/folder"。

谢谢。

在与应用程序域路径相同的目录中获取文件夹

如果你想要一个更通用的方法,而不需要知道起始文件夹:

//NOTE:  using System.IO;
String startPath = Path.GetDirectoryName(HttpRuntime.AppDomainAppPath);
Int32 pos = startPath.LastIndexOf(Path.DirectorySeparatorChar);
String newPath = Path.Combine(startPath.Substring(0, pos), "folder");  //replace "folder" if it's really something else, of course

这样,无论你的web应用程序从哪个目录运行,你都可以找到它,把它缩小一级,然后加上"folder"来得到你的新兄弟目录。

您可以使用String.Replace方法。

返回一个新字符串,其中指定字符串在当前实例将被替换为另一个指定的字符串。

string appPath = HttpRuntime.AppDomainAppPath;
appPath = appPath.Replace("webapp", "folder");

这是一个DEMO

感谢DonBoitnott的评论,这里是正确的答案;

string appPath = @"C:'mydir'anotherdir'webapp'thirddir'webapp";
int LastIndex = appPath.LastIndexOf("webapp", StringComparison.InvariantCulture);
string RealappPath = Path.Combine(appPath.Substring(0, LastIndex), "folder");
Console.WriteLine(RealappPath);

这将打印;

C:'mydir'anotherdir'webapp'thirddir'folder