如何以编程方式获取项目中文件的文件路径?
string fileContent = File.ReadAllText(LocalConstants.EMAIL_PATH);
我将一个文本文件添加到了我的项目中作为EMAIL_PATH。这行代码会抛出异常,因为默认情况下它会在system32文件夹中查找某些内容。我需要将其设置为项目目录。
如何以编程方式获取项目中文件的文件路径?
string fileContent = File.ReadAllText(LocalConstants.EMAIL_PATH);
我将一个文本文件添加到了我的项目中作为EMAIL_PATH。这行代码会抛出异常,因为默认情况下它会在system32文件夹中查找某些内容。我需要将其设置为项目目录。
你可以使用Path.Combine
和AppDomain.CurrentDomain.BaseDirectory
:
string fileName = "SampleFile.txt";
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, LocalConstants.EMAIL_PATH, fileName);
在调试模式下的测试项目中,当 LocalConstants.EMAIL_PATH="Emails"
时,返回此路径:
C:\****\****\Documents\Visual Studio 2010\Projects\WindowsApplication1\WindowsFormsApplication1\bin\Debug\Emails\SampleFile.txt
这个对我有用 System.AppDomain.CurrentDomain.BaseDirectory.ToString()
你可以使用 Environment.CurrentDirectory
参见: http://msdn.microsoft.com/en-us/library/system.environment.currentdirectory.aspx
了解更多信息。
编辑*
string temp = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
将执行相同的操作,而且可能会更安全一些。