Trouver une chaîne (ou une ligne) dans un Fichier txt Java
disons que j'ai un fichier txt contenant:
john
dani
zack
l'utilisateur devra saisir une chaîne de caractères, par exemple "omar"
Je veux que le programme de recherche de ce fichier txt pour la Chaîne "omar", si elle n'existe pas, il suffit d'afficher "n'existe pas".
J'ai essayé la fonction String.endsWith() ou de la Ficelle.startsWith(), mais bien sûr affiche "n'existe pas" 3 fois.
J'ai commencé à java seulement il y a 3 semaines, donc je suis un total newbie...s'il vous plaît garder avec moi.
merci.
OriginalL'auteur user3040333 | 2013-12-06
Vous devez vous connecter pour publier un commentaire.
Viens de lire ce fichier texte et de le mettre chaque mot dans une
List
et vous pouvez vérifier queList
contient votre mot.Vous pouvez utiliser
Scanner scanner=new Scanner("FileNameWithPath");
de lire le fichier et vous pouvez essayer les méthodes suivantes pour ajouter des mots àList
.Puis vérifiez votre mot est là ou pas
BTW, vous pouvez recherchez directement dans le fichier.
votre idée est là aussi
cette dernière méthode, où je peux chercher directement à l'intérieur du fichier, comment sortir de la boucle lorsque la ligne est-il trouvé? c'est l'affichage: non trouvé 4 fois, puis trouvé, alors pas trouvé jusqu'à la fin du fichier
il suffit de mettre un
break
déjà essayé, c'est en quelque sorte annule l'instruction if, donc il est maintenant montrant pas trouvé que la chaîne existe ou pas
OriginalL'auteur Ruchira Gayan Ranaweera
utilisation
String.contains(your search String)
au lieu deString.endsWith()
ouString.startsWith()
par exemple
OriginalL'auteur Prabhakaran
Vous pouvez aller de l'autre manière autour. Au lieu de l'impression de "ne pas exister", d'impression "existe" si une correspondance est trouvée en parcourant le fichier et pause; Si le fichier entier est traversé et aucune correspondance n'est trouvée, alors seulement aller de l'avant et d'affichage "ne pas exister".
Aussi, l'utilisation
String.contains()
en place destr.startsWith()
oustr.endsWith()
. Contient de contrôle de la recherche dans l'ensemble de la chaîne et pas seulement au début ou à la fin.Espère qu'il fait sens.
OriginalL'auteur Ankur Shanbhag
Lire le contenu du fichier texte: http://www.javapractices.com/topic/TopicAction.do?Id=42
Et après cela, il suffit d'utiliser la
textData.contains(user_input);
méthode, oùtextData
est la lecture de données à partir du fichier, et lauser_input
est la chaîne qui est recherché par l'utilisateurMise à JOUR
Cette méthode renvoie le StringBuilder créé à partir des données que vous avez lues à partir du fichier texte donné en paramètre.
Vous pouvez voir si l'utilisateur de la chaîne d'entrée est dans le fichier comme ceci:
J'ai mis à jour la réponse avec un peu de code.
OriginalL'auteur Hitman
Vous pouvez faire cela avec
Fichiers.lignes
:Remarque qu'il utilise l'UTF-8 est le jeu de caractères à lire le fichier, si ce n'est pas ce que vous voulez, vous pouvez passer votre jeu de caractères que le deuxième argument de
Files.lines
.OriginalL'auteur Alex