如何将路径从驱动器转换为应用程序路径?目前我正在创建和访问硬盘上的文件(例如:“D:\ MyFolder \ MyDoc.doc”)。我想在控制台应用程序文件夹中使用此路径。我知道我可以将Server.MapPath
用于ASP.NET应用程序。控制台应用程序怎么样?
答案 0 :(得分:3)
<强> EDITED 强>
如果您想从当前文件夹中读取文件
System.IO.FileStream stream = System.Reflection.Assembly.GetExecutingAssembly().GetFile("filename");
或者您想要获取目录路径
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
var directory = System.IO.Path.GetDirectoryName(path);
var parentdir = System.IO.Directory.GetParent(directory);
答案 1 :(得分:2)
要避免硬编码路径文件,请将MyDoc.doc
放入执行文件夹,然后使用Directory.GetCurrentDirectory()
获取执行文件夹:
string directory = Directory.GetCurrentDirectory();
string fileName = Path.Combine(directory, "MyDoc.doc");
其他选择:
string path = Assembly.GetExecutingAssembly().Location;
string directory = Path.GetDirectoryName(path);
或者:
string directory = AppDomain.CurrentDomain.BaseDirectory;
或者:
string directory = Path.GetDirectoryName(Application.ExecutablePath);
获取bin
文件夹:
var bin = Directory.GetParent(directory ).Parent.FullName;