Problème programmation java
Résolu/Fermé
A voir également:
- Problème programmation java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Application de programmation - Guide
4 réponses
Utilisateur anonyme
13 août 2009 à 01:36
13 août 2009 à 01:36
Salut,
"j'ai fais cela mais ça m'affiche tout le contenu^^: "
C'est normal car dans ta boucle :
while ((ligne=bfr.readLine())!= null){
System.out.println(ligne);
chaine+=ligne+"\n";
}
tu lis tant qu'il y a encore à lire, puis tu fermes le fichier et il est possible que seulement après tu veuilles poser une question...
Tu dois donc poser d'abord ta question (ou plus exactement demander l'entrée du critère de selection de la ligne à conserver avant de lancer la lecture), tu vérifies si la ligne lue correspond au critère, si oui range la dans chaine, sinon, continue la lecture jusqù'à trouver (ou non trouver, auquel cas tu affiches un message) la bonne ligne. Dans les 2 cas, tu fermes le fichier.
Tu peux alors demander un nouveau critère .
Sauf la première fois, ouvre le fichier (qui a été fermé lors d'une recherche précédente) ce qui te permettra de lire de nouveau le fichier depuis le début et lance de nouveau la lecture... Voir la remarque (2)
Remarques:
(1) -Sépare init() le la lecture.
(2) -Critère peut être un critères ou bien une valeur ne pouvant pas être confondu avec un critère réel: (par exemple **fin** si le critère est String et que tu testes avant de lancer la lecture).
Cordialement,
Dan
Cordialement,
Dan
"j'ai fais cela mais ça m'affiche tout le contenu^^: "
C'est normal car dans ta boucle :
while ((ligne=bfr.readLine())!= null){
System.out.println(ligne);
chaine+=ligne+"\n";
}
tu lis tant qu'il y a encore à lire, puis tu fermes le fichier et il est possible que seulement après tu veuilles poser une question...
Tu dois donc poser d'abord ta question (ou plus exactement demander l'entrée du critère de selection de la ligne à conserver avant de lancer la lecture), tu vérifies si la ligne lue correspond au critère, si oui range la dans chaine, sinon, continue la lecture jusqù'à trouver (ou non trouver, auquel cas tu affiches un message) la bonne ligne. Dans les 2 cas, tu fermes le fichier.
Tu peux alors demander un nouveau critère .
Sauf la première fois, ouvre le fichier (qui a été fermé lors d'une recherche précédente) ce qui te permettra de lire de nouveau le fichier depuis le début et lance de nouveau la lecture... Voir la remarque (2)
Remarques:
(1) -Sépare init() le la lecture.
(2) -Critère peut être un critères ou bien une valeur ne pouvant pas être confondu avec un critère réel: (par exemple **fin** si le critère est String et que tu testes avant de lancer la lecture).
Cordialement,
Dan
Cordialement,
Dan
Utilisateur anonyme
13 août 2009 à 10:50
13 août 2009 à 10:50
je penser que readline() le faisait tout seul.
donc en gros je dois moi même rentrer l'indice de la ligne 1, pour obtenir la première et l'incrémenter pour passer à la suivante,
Mais comment rentrer se paramètre? je ne sais pas qu'elle est la variable qui permet d'obtenir la ligne dans les fichiers et de l'insérer??
comment marche lineNumberReader il n'accepte que des objets de type InputStreamReader ??
donc en gros je dois moi même rentrer l'indice de la ligne 1, pour obtenir la première et l'incrémenter pour passer à la suivante,
Mais comment rentrer se paramètre? je ne sais pas qu'elle est la variable qui permet d'obtenir la ligne dans les fichiers et de l'insérer??
comment marche lineNumberReader il n'accepte que des objets de type InputStreamReader ??
Utilisateur anonyme
13 août 2009 à 11:11
13 août 2009 à 11:11
Salut,
Je ne comprend plus là. Ton programme est bon si tu veux lire toutes les lignes. Et bien sùr que readline() passe tout seul à la ligne suivante grâce à la boucle while, mais tu sembles ne pas vouloir toutes les lignes quand tu ecris "j'ai fais cela mais ça m'affiche tout le contenu^^: ", d'où ma réponse!
Alors précise bien ce que tu veux faire.
Cordialement,
Dan
Je ne comprend plus là. Ton programme est bon si tu veux lire toutes les lignes. Et bien sùr que readline() passe tout seul à la ligne suivante grâce à la boucle while, mais tu sembles ne pas vouloir toutes les lignes quand tu ecris "j'ai fais cela mais ça m'affiche tout le contenu^^: ", d'où ma réponse!
Alors précise bien ce que tu veux faire.
Cordialement,
Dan
Utilisateur anonyme
13 août 2009 à 11:40
13 août 2009 à 11:40
c'est bon j'ai trouvé, je voulais simplement inséré le numéro de la ligne et la récupéré dans une variable et l'afficher en JLabel . quand je varie nb j'arrive a récupéré la ligne que je veux^^ youpi merci pour tes conseils!!
public void initWord() throws Exception{
int nb = 2;
setLineNumber(nb);
File file = null;
FileReader freader = null;
LineNumberReader lnreader = null;
try{
file = new File("question.txt");
freader = new FileReader(file);
lnreader = new LineNumberReader(freader);
String line = "";
while ((line =lnreader.readLine()) != null){
System.out.println("Line: " + lnreader.
getLineNumber() + ": " + line);
if (lnreader.getLineNumber() == nb){
quest = line;
System.out.println("Line numero: " + lnreader.
getLineNumber() );
}
}
}
finally{
freader.close();
lnreader.close();
}
public void initWord() throws Exception{
int nb = 2;
setLineNumber(nb);
File file = null;
FileReader freader = null;
LineNumberReader lnreader = null;
try{
file = new File("question.txt");
freader = new FileReader(file);
lnreader = new LineNumberReader(freader);
String line = "";
while ((line =lnreader.readLine()) != null){
System.out.println("Line: " + lnreader.
getLineNumber() + ": " + line);
if (lnreader.getLineNumber() == nb){
quest = line;
System.out.println("Line numero: " + lnreader.
getLineNumber() );
}
}
}
finally{
freader.close();
lnreader.close();
}