views:

177

answers:

2

How can I read the contents of a text file in my Web Application, using a relative path/URL?

The files are located in a directory at the root of my application.

I don't want to specify the full path to the file I want to access, since my test environment is not an exact mirror of my production environment.

+5  A: 

Use Server.MapPath("/path/to/file") and pass the result of that to File.ReadAllText():

String template = File.ReadAllText(Server.MapPath("~/Templates/") + filename);
klausbyskov
Aye. `Server.MapPath()` did the trick. Thanks Klaus :)
roosteronacid
You are most welcome :-)
klausbyskov
could you please tell me in which package `Server` class is located.
Yatendra Goel
A: 

You can use this code snippet as well.

using System.IO;
using System.Web.Hosting;


using (StreamReader sr = new StreamReader(VirtualPathProvider.OpenFile("~/foo.txt")))
{
    string content = sr.ReadToEnd();
}
Mehdi Golchin