J86*_*J86 16 relative-path console-application filepath c#-4.0
有人可以告诉我如何获取文件data.xml的正确文件路径?这是文件所在的位置:

这是我的C#代码,它检查提供的路径是否存在该文件:
public class Parser
{
static void Main(string[] args)
{
Console.WriteLine(File.Exists("App_Data/data.xml"));
Console.Read();
}
}
Run Code Online (Sandbox Code Playgroud)
我一直变弱,意味着这样的文件不存在.所以到目前为止我尝试过的文件路径包括:
"~/App_Data/data.xml"
"/App_Data/data.xml"
"App_Data/data.xml"
Run Code Online (Sandbox Code Playgroud)
如果这是一个Web应用程序,我会知道该怎么做,通过使用HttpContext并获取该文件.但由于这是一个控制台应用程序,我不知道.
在相关的说明中,Console应用程序和Executable应用程序之间有什么区别?我是否正确,没有区别,因为如果控制台应用程序具有Main方法,它可以是可执行应用程序?
谢谢
Leo*_*eon 20
您还可以将data.xml添加到输出构建目录中.您需要右键单击文件,并选择Copy if newer或Copy always为Copy to output directory option.
然后你可以使用以下内容:
Console.WriteLine(File.Exists("App_Data/data.xml")); // Should print True
Run Code Online (Sandbox Code Playgroud)
但是,如果您希望更改data.xml,那么只需指向项目外部的完整路径(假设App_Data/data.xml被复制到C:/ Temp),然后:
Console.WriteLine(File.Exists("C:/Temp/App_Data/data.xml")); // Prints True
Run Code Online (Sandbox Code Playgroud)
此外,对于与控制台和可执行应用程序相关的其他问题,exe可以是不同的应用程序类型,例如console或wpf或winforms(这是visual studio对这些应用程序进行分组的方式).
ale*_*oze 12
获取当前工作目录:
Directory.GetCurrentDirectory() + "/App_Data/data.xml";
Run Code Online (Sandbox Code Playgroud)
重要提示:App_Data必须与您的应用程序位于同一目录中.
获取data.xml文件的最佳方法是将其与您的应用程序一起携带,或者将其保存在用户的"home"目录中(或者在Windows 8下调用它).
| 归档时间: |
|
| 查看次数: |
44180 次 |
| 最近记录: |