2011-12-30 94 views
5

txt文件,我想开一个txt文件,读取它下面的代码:打开并阅读在ASP

StreamReader reader = File.OpenText("TrackData/vehicle_points.txt"); 

TrckData是在我的web应用程序的文件夹。 但我得到这个错误:

找不到路径 'C:\ Program Files文件(x86)的\ Common Files文件\ Microsoft共享\ DevServer \ 10.0 \ TrackData \ vehicle_points.txt' 的一部分。

我的项目是不是在C驱动程序,我不知道它在哪里得到的网址。

回答

8

ASP.Net应用程序存储在一个不同的文件夹,在这里你给了一个相对的,可能会根据asp.net可执行文件路径而有所不同。

请使用

string path = Server.MapPath("TrackData/vehicle_points.txt"); 
StreamReader reader = File.OpenText(path); 

这必将工作..

+0

是的,那工作,谢谢兄弟。 – 2011-12-30 09:23:45

+0

不客气。@ rn-uera – 2011-12-30 09:31:48

5

File.OpenText将与路径是当前目录开始 - 这是可执行文件所在的目录

你需要给它正确文件的路径。

+0

如果我想在另一台计算机上运行我的项目,该怎么办? – 2011-12-30 09:15:38

+1

@rNuǝɹɐ - 你仍然需要提供完整的路径。你如何做到这一点取决于你(从配置,数据库,其他任何东西中选择根路径)。 – Oded 2011-12-30 09:17:51

2

可以使用

StreamReader reader = File.OpenText(AppDomain.CurrentDomain.BaseDirectory.ToString() + "TrackData/" +fileName); 
0

最好的答案就是一个:

string path = Server.MapPath("filename.txt"); 
StreamReader rd = new StreamReader(path); 
+0

也许你可以添加一些文字来解释为什么这个答案比那个已经被接受的答案好。使用'File'或'StreamReader'是不同的事情,所以他们不能真正的比较。 – 2012-09-25 15:48:45

0
StreamReader sr = new StreamReader(Server.MapPath("~/TrackData/") + Textbox.Text); 

string read = sr.ReadLine(); 

if(read != null) 
{ 
    Response.Write(read); 
} 
else 
{ 
    Response.Write("nothing to display"); 
} 
+3

嗨,欢迎来到stackoverflow!我认为如果你给出了错误的解释,而不是在没有任何上下文的情况下丢弃一些代码,你的答案可能会更有用。请参阅[如何回答](https://stackoverflow.com/help/how-to-answer) – 2017-06-25 16:11:11