Spawn3107
Messages postés84Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention28 mars 2011
-
2 juin 2007 à 23:30
Spawn3107
Messages postés84Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention28 mars 2011
-
3 juin 2007 à 12:17
Bonjour ,
j'ai un petit probleme avec mon programme: J ai un thread qui toutes les X secondes doit m affichier une ligne d'un fichier dans une jTextArea.
Mon probleme est qu'il m'affiche tout le temps la même ligne. Comment puis-je manipuler le readLine pour qu'il me lise chaque fois la ligne suivante lorsqu il arrive dans la fonction ??
Toutes les lignes du fichier doivent être affichées ligne par ligne.
gmi19oj19
Messages postés545Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention28 septembre 20112 3 juin 2007 à 11:26
Salut,
public void initialisation() {
br=new BufferedReader(new InputStreamReader(new FileInputStream(News.txt")));
}
public void Creernews() {
try {
if (br == null) initialisation();
String ligne;
if((ligne=br.readLine())!=null) {
jTextAreaNews.setText(jTextAreaNews.getText()+"\n"+ligne);
}
else {
br.close();
}
catch( IOException e )
{ Err_Msg(e.getMessage() );
}
}
Par ailleurs, avec "br.close()" tu risque d'avoir quelques prblèmes à la fin e ton fichier. Il serait judieux de rajouter un "tonThread.interrupt();" en même temps que tu fermes ton flux.
gmi19oj19
Messages postés545Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention28 septembre 20112 3 juin 2007 à 09:13
Salut,
Ton erreur est une faute d'inatention. A chaque fois que tu appelles ta méthodes, tu réinitialises ton BufferedReader, qui redémarre donc au début de ton fichier.
Il faut donc que tu déclares leBufferedReader en instance de classe et que tu l'initialises avant le premeir appel de ta méthode.
Spawn3107
Messages postés84Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention28 mars 2011 3 juin 2007 à 11:47
Ok , mais le problème est qu il connait pas la variable br, donc pour : if (br == null) initialisation(); .
Il faut que j'initialise la variable en static ? Si oui , br est de quel type ?
Merci !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Spawn3107
Messages postés84Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention28 mars 2011 3 juin 2007 à 12:10
Maintenant j initialise : public BufferedReader br=new BufferedReader(null); .
Mais lorsque je fait un new de la classe qui contient le creerNews , il me lance :
.NullPointerException
at java.io.Reader.(Reader.java:61)
at java.io.BufferedReader.(BufferedReader.java:76)
at java.io.BufferedReader.(BufferedReader.java:91)