2017-02-18 10 views
1

Привет Я пишу код C#, где есть строка, отправленная в качестве входного параметра для метода. И тогда в файле нужно искать в файле inputString, и результат должен быть возвращен. В настоящее время я знаю, как это сделать обычным образом (используя файл IO).Поиск содержимого файла в C#

[HttpPost] 
     public string UsernameValidation(string username) 
     { 
      string text = username; 
      string userExists = usernameNotAvailable; 
      string line; 
      System.IO.StreamReader file = new System.IO.StreamReader("~/UserData/usernameslist.txt"); 

      while ((line = file.ReadLine()) != null) 
      { 
       if (line.Contains(text)) 
       { 
        userExists = usernameAvailable; 
       } 

      } 
      return userExists; 
     } 

Но вот твист, мой проект в MVC. Я могу получить путь к файлу, используя string userDataFile = Server.MapPath("~/UserData/usernameslist.txt");.

Но я не могу узнать, как получить функциональность поиска строки в файле.

Пожалуйста, дайте мне знать, как я могу это сделать.

Благодаря

ответ

1

Если файл usernameslist.txt действительно существует в подпапке UserData из корневой папки, то вам просто необходимо передать выходной Server.MapPath вашего StreamReader конструктору

string fileName = Server.MapPath("~/UserData/usernameslist.txt"); 

using(StreamReader file = new System.IO.StreamReader(fileName)) 
{ 
    .... 
} 

И не забывайте использовать используя заявление вокруг объекта потока

+0

Спасибо ты очень много Стива. :) – user3872094