j'ai un fichier.txt qui contient plusieurs mots, J'arrive a affiche tous les mots de mon fichier mais je veux afficher seulement le mot écrit par l'utilisateur
ainsi que si le mot existe dans fichier.txt, il affiche vrai sinon faux.
voici mon code au dessous :
try
{
String monFichier = "texte.txt";
FileInputStream fis = new FileInputStream(monFichier);
String nomSaisi=jTextField1.getText();
int n;
while ((n = fis.available())> 0)
{ byte[] b = new byte[n];
int result = fis.read(b);
if (result == -1) break;
String s = new String(b);
jTextField2.setText(s);
}
peux-tu expliquer le soucis que tu as avec ton code ? L'idée c'est de:
CHARGER FICHIER
POUR chacune des lignes
SI ligne contient tont mot
incrémenter compteur
FIN SI
FIN POUR
SI COMPTEUR > 0
Afficher "le mot" + MOT + " a été trouvé " + compteur + "fois."
FIN SI
j'ai essayée de faire ce code au dessous mais toujours affiche faux .
De plus ,mon objectif c'est d'afficher seulement le mot écrit par l'utilisateur
ainsi que si le mot existe dans fichier.txt.
voici mon code au dessous :
try
{
String monFichier = "res.ind";
FileInputStream fis = new FileInputStream(monFichier);
String nomSaisi=jTextField1.getText();
int n;
while ((n = fis.available())> 0)
{ byte[] b = new byte[n];
int result = fis.read(b);
if (result == -1) break;
String s = new String(b);
if (nomSaisi.contains(s))
{
jTextField2.setText(s);
}
else
{jTextField2.setText("faux");}
}
}
catch (Exception e) {;}
il faut plutôt regarder si s contient nomSaisie que l'inverse (s étant plus grand que nomSaisie, nomSaisie ne peut pas contenir s)
Après, je ne vois pas ici l'utilité de la boucle while, puisque tu lis le contenu du fichier en une fois (éventuellement, le transformer en test pour voir si le fichier n'est pas vide)
j'ai essayé de faire s dans nomSaisie mais même problème il affiche tout les mots de mon fichier.txt .
je veux comparer le mot écrit par l'utilisateur el le mot qui existe dans fichier.txt pour dire que le mot qu' a été écrit à exister dans fichier.txt . et Merci d'avance .
Voici le code au dessus :
try
{
String monFichier = "res.ind";
FileInputStream fis = new FileInputStream(monFichier);
String nomSaisi=jTextField1.getText();
int n;
while ((n = fis.available())> 0)
{ byte[] b = new byte[n];
int result = fis.read(b);
if (result == -1) break;
String s = new String(b);
if (s.contains(nomSaisi))
{
jTextField2.setText(s);
}
}
}
catch (Exception e) {;}
tu as fais le fis.Close(); et modifier (ou supprimer) le catch(Exception e) {;} ?
tester si le mot existe dans un fichier.txt
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl