OVH Cloud OVH Cloud

Afficher un fichier

2 réponses
Avatar
Nicolas Montessuit
Bonjour,

je veux faire une applet qui affiche le contenu d'un fichier toto.txt
et l'affiche dans un TextField du package awt. Bizarrement, ca ne marche
pas, et je ne comprends vraiment pas pourquoi. Tout se passe comme
s'il y avait une Exception lors de la lecture du fichier, or le
fichier est bien présent, et ses droits sont rw-r--r-- !

Voici le code :

----------------------------------------------------------------------------
import java.awt.List;
import java.awt.Button;
import java.awt.Label;
import java.awt.TextField;
import java.awt.Checkbox;
import java.applet.Applet;
import java.io.*;

public class p49 extends Applet {

public void init() throws FileNotFoundException {

// On installe des boutons et d'autres
// conneries...
Button monBouton = new Button("bouton");
add(monBouton);
Label monLabel = new Label("label");
add(monLabel);

// Ici on ouvre le fichier toto.txt
// et on l'affiche dans une boite...
FileReader fr = new FileReader("toto.txt");
String chaine = "";
int lu=-1;
boolean encore = true;
while (encore)
{
try {
lu = fr.read();
} catch (IOException exc) { encore=false; }
if (lu==-1)
encore=false;
else {
char c = (char)lu;
chaine = chaine + c;
}
}
try {fr.close();} catch (IOException exc) {}

TextField champTexte = new TextField(chaine,60);
add(champTexte);
}
}
-----------------------------------------------------------------

Qu'est-ce qui peut bien ne pas marcher ??

--nm

2 réponses

Avatar
plutonheaven
Apparemment, c'est la gestion du FileNotFoundException qui pose
problème. Je ne sais pas trop comment ça marche, mais en mettant un
try-catch avant la déclaration de ton FileReader (et le catch à la
fin, après la dernière utilisation de fr), ça marche.

Mais bon, c'est résoudre le problème sans le comprendre, donc si
quelqu'un pouvait nous éclaircir, je le remercie d'avance.

import java.awt.List;
import java.awt.Button;
import java.awt.Label;
import java.awt.TextField;
import java.awt.Checkbox;
import java.applet.Applet;
import java.io.*;

public class p49 extends Applet {
public void init() {
// On installe des boutons et d'autres
// conneries...
Button monBouton = new Button("bouton");
add(monBouton);
Label monLabel = new Label("label");
add(monLabel);

// Ici on ouvre le fichier toto.txt
// et on l'affiche dans une boite...
try {
FileReader fr = new FileReader("toto.txt");
String chaine = "";
int lu=-1;
boolean encore = true;
while (encore) {
try {
lu = fr.read();
} catch (IOException exc) { encoreúlse; }
if (lu==-1)
encoreúlse;
else {
char c = (char)lu;
chaine = chaine + c;
}
}
try {fr.close();} catch (IOException exc) {}
TextField champTexte = new TextField(chaine,60);
add(champTexte);
} catch(Exception e) {}
}
}




Bonjour,

je veux faire une applet qui affiche le contenu d'un fichier toto.txt
et l'affiche dans un TextField du package awt. Bizarrement, ca ne marche
pas, et je ne comprends vraiment pas pourquoi. Tout se passe comme
s'il y avait une Exception lors de la lecture du fichier, or le
fichier est bien présent, et ses droits sont rw-r--r-- !

Voici le code :

------------------------------------------------------------------------- ---
import java.awt.List;
import java.awt.Button;
import java.awt.Label;
import java.awt.TextField;
import java.awt.Checkbox;
import java.applet.Applet;
import java.io.*;

public class p49 extends Applet {

public void init() throws FileNotFoundException {

// On installe des boutons et d'autres
// conneries...
Button monBouton = new Button("bouton");
add(monBouton);
Label monLabel = new Label("label");
add(monLabel);

// Ici on ouvre le fichier toto.txt
// et on l'affiche dans une boite...
FileReader fr = new FileReader("toto.txt");
String chaine = "";
int lu=-1;
boolean encore = true;
while (encore)
{
try {
lu = fr.read();
} catch (IOException exc) { encoreúlse; }
if (lu==-1)
encoreúlse;
else {
char c = (char)lu;
chaine = chaine + c;
}
}
try {fr.close();} catch (IOException exc) {}

TextField champTexte = new TextField(chaine,60);
add(champTexte);
}
}
-----------------------------------------------------------------

Qu'est-ce qui peut bien ne pas marcher ??

--nm


Avatar
TestMan
Bonjour,

je veux faire une applet qui affiche le contenu d'un fichier toto.txt
et l'affiche dans un TextField du package awt. Bizarrement, ca ne marche
pas, et je ne comprends vraiment pas pourquoi. Tout se passe comme
s'il y avait une Exception lors de la lecture du fichier, or le
fichier est bien présent, et ses droits sont rw-r--r-- !

Voici le code :

----------------------------------------------------------------------------
import java.awt.List;
import java.awt.Button;
import java.awt.Label;
import java.awt.TextField;
import java.awt.Checkbox;
import java.applet.Applet;
import java.io.*;

public class p49 extends Applet {

public void init() throws FileNotFoundException {

// On installe des boutons et d'autres
// conneries...
Button monBouton = new Button("bouton");
add(monBouton);
Label monLabel = new Label("label");
add(monLabel);

// Ici on ouvre le fichier toto.txt
// et on l'affiche dans une boite...
FileReader fr = new FileReader("toto.txt");
String chaine = "";
int lu=-1;
boolean encore = true;
while (encore)
{
try {
lu = fr.read();
} catch (IOException exc) { encoreúlse; }
if (lu==-1)
encoreúlse;
else {
char c = (char)lu;
chaine = chaine + c;
}
}
try {fr.close();} catch (IOException exc) {}

TextField champTexte = new TextField(chaine,60);
add(champTexte);
}
}
-----------------------------------------------------------------

Qu'est-ce qui peut bien ne pas marcher ??

--nm


Vous ne pouvez pas généralement accéder depuis une applet à un File (ou
FileReader, etc), car on est dans un "bac à sable". Voir la doc sur ce
sujet ...

Si vous affichez la trace de la console vous obtiendrait une exception
qui vous permetra d'en savoir plus sur le sujet.

A+
TM