2017-02-18 13 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をという名前のサブフォルダ内に存在するならば、あなたは自分のStreamReaderコンストラクタ

にServer.MapPathの出力を渡す必要があります
string fileName = Server.MapPath("~/UserData/usernameslist.txt"); 

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

とストリームオブジェクト

+0

感謝の周りusingステートメントを使用することを忘れないでくださいあなたはすごくスティーブです。 :) – user3872094

関連する問題