文本文件的子文件夹的路径

时间:2011-05-29 21:09:48

标签: c# asp.net

StreamReader content1 = File.OpenText("../DATA/heading.txt");

我在一个名为DATA的子文件夹中有一个txt文件,我试图从代码访问此文件,但代码转到.net运行时指南而不是应用程序目录,感谢您的帮助

4 个答案:

答案 0 :(得分:4)

string filePath = Server.MapPath("/Data/heading.txt");
StreamReader content1 = File.OpenText(filePath);

答案 1 :(得分:2)

尝试使用Application的Entry程序集来获取这样的文本文件路径。

Assembly asm = Assembly.GetEntryAssembly();
string appDir = Path.GetDirectoryName(asm.Location);
string filePath = Path.Combine(appDir, "../DATA/heading.txt");
StreamReader content1 = File.OpenText(filePath);

这适用于以exe开头的任何应用程序。

答案 2 :(得分:0)

来自MSDN - http://msdn.microsoft.com/en-us/library/system.io.file.opentext.aspx

允许path参数指定相对或绝对路径信息。相对路径信息被解释为相对于当前工作目录。要获取当前工作目录,请参阅GetCurrentDirectory。

http://msdn.microsoft.com/en-us/library/system.io.directory.getcurrentdirectory.aspx

因此,您当前的目录未设置为您的应用程序目录。

答案 3 :(得分:0)

既然您将此标记为asp.net,您是否正在从asp.net上查看服务器?如果是这样,请尝试Server.MapPath http://msdn.microsoft.com/en-us/library/ms524632(v=vs.90).aspx