2017-02-18 2 views
1

Salut J'écris un code C# dans lequel il y a une chaîne envoyée en entrée de paramètre à la méthode. Et puis le inputString doit être recherché dans le fichier et le résultat doit être retourné. Actuellement, je sais comment procéder de la manière habituelle (en utilisant le fichier IO).Rechercher un contenu de fichier dans 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; 
     } 

Mais voici la torsion, mon projet est en MVC. Je suis en mesure d'obtenir le chemin du fichier en utilisant string userDataFile = Server.MapPath("~/UserData/usernameslist.txt");.

Mais je suis incapable de savoir comment puis-je obtenir la fonctionnalité de recherche d'une chaîne dans un fichier.

S'il vous plaît laissez-moi savoir comment puis-je faire cela.

Merci

Répondre

1

Si le fichier usernameslist.txt existe vraiment à l'intérieur d'un sous-dossier nommé UserData à partir de votre dossier racine, puis il vous suffit de passer la sortie de Server.MapPath à votre constructeur StreamReader

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

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

Et ne pas oublier d'utiliser le using autour d'un objet Stream

+0

Remercier Toi Steve. :) – user3872094