2011-12-30 5 views
5

Я хочу, чтобы открыть текстовый файл и читать из него вот код:Открыть и прочитать текстовый файл в ASP

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

TrckData папка в моем веб-приложение. , но я получаю эту ошибку:

Не удалось найти часть пути "C: \ Program Files (x86) \ Common Files \ Microsoft Shared \ DevServer \ 10.0 \ TrackData \ vehicle_points.txt.

Мой проект даже не в C Driver, я не знаю, где он получает этот URL.

ответ

8

Приложения ASP.Net хранятся в другой папке, и здесь вы указали родственник, который может варьироваться в зависимости от исполняемого пути asp.net.

Пожалуйста, используйте

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

это, безусловно, работа ..

+0

Да, это сработало, спасибо брату. –

+0

Приветствую вас, bro .. @ rn-uera –

5

File.OpenText будет начинаться с пути, по которому текущий каталог - это каталог, исполняемый в

Вы должны дать ему правильный полный путь к файлу..

+0

Что делать, если я хотел запустить проект на другом компьютере? –

+1

@ rNuǝɹɐ - Вам все равно нужно предоставить полный путь. Как вы это делаете, (заберите корневой путь из конфигурации, базы данных и всего остального). – Oded

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' - это разные вещи, поэтому их нельзя сравнивать. –

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) –

Смежные вопросы