2017-02-18 146 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)) 
{ 
    .... 
} 

而且不要忘記使用using語句圍繞Stream對象

+0

謝謝你太多史蒂夫了。 :) – user3872094