我在设置输入“.txt”文件的路径时遇到问题。我正在读取文件的内容并修改内容。那么我该如何设置路径以便它适用于任何计算机(如果有人只是粘贴项目并尝试运行它。)
我尝试过以下选项。
1) var path = Environment.CurrentDirectory + @"\input.txt";
2) var path = "input.txt";
但我得到一个运行时DirectoryNotFound异常。对于
var path = @"D:\Projects\Demo Project\C#\Problem1\Problem1\input.txt" ;
工作正常。但它只适用于此目录结构。
我需要这样的东西: - ResolveUrl(“〜/ input.txt”);这样它就适用于每一个案例。
答案 0 :(得分:3)
System.Reflection.Assembly.GetExecutingAssembly().Location
如果您想要的只是目录,请将其与System.IO.Path.GetDirectoryName
相结合。
如果您在网站上工作,正如问题评论所示,您可以使用
HttpContext.Current.Request.PhysicalApplicationPath
答案 1 :(得分:0)
您可以使用
System.Windows.Forms.Application.StartupPath;
获取应用开始的目录。
如果它是控制台应用,请记住添加对System.Windows.Forms
的引用。
希望这有帮助。
答案 2 :(得分:0)
如果您需要应用程序所在的目录:
AppDomain.CurrentDomain.BaseDirectory