J'ai fait un convertisseur de fichiers. La conversion fonctionne bien,
mais je voudrais aussi pouvoir ajouter un texte à la fin du fichier.
Je crée un thread de conversion et j'attends qu'il ait terminé pour
écrire dans le flux de sortie. Malheureusement, 'check' (voir plus bas)
n'apparaît pas dans le fichier de sortie.
Voici ce que j'ai fait (ce code est dans une boucle):
-----------------------
final FileReader source = new FileReader(fileFrom);
final BufferedReader in = new BufferedReader(source);
final FileOutputStream outFile = new
FileOutputStream(selectedDirectory+"/"+outFileName);
final PrintWriter out = new PrintWriter(outFile);
// Le thread ecrit dans le buffer
Thread converter = new ConverterThread(out, in,
this.currentConverter, fileFrom);
converter.start();
// Wait indefinitely for the thread to finish
try {
converter.join();
// Finished
} catch (InterruptedException e) {
// Thread was interrupted
e.printStackTrace();
}
Le Sun, 10 Sep 2006 13:43:21 +0200, Raphael Tagliani a écrit :
Sauriez-vous quelle erreur j'ai commise? Merci!
Tout d'abord, a quoi sert le thread ? Ensuite, as-tu pensé à faire un close() ?
Raphael Tagliani
Sauriez-vous quelle erreur j'ai commise? Merci!
Tout d'abord, a quoi sert le thread ? Ensuite, as-tu pensé à faire un close() ?
C'est une question légitime: Le thread est là parce que j'utilise les convertisseurs dans d'autres contextes (p.ex pour utiliser des pipes afin des les mettre en chaîne).
Le close() ne change rien au comportement.
merci.
Sauriez-vous quelle erreur j'ai commise? Merci!
Tout d'abord, a quoi sert le thread ?
Ensuite, as-tu pensé à faire un close() ?
C'est une question légitime:
Le thread est là parce que j'utilise les convertisseurs dans d'autres
contextes (p.ex pour utiliser des pipes afin des les mettre en chaîne).
Tout d'abord, a quoi sert le thread ? Ensuite, as-tu pensé à faire un close() ?
C'est une question légitime: Le thread est là parce que j'utilise les convertisseurs dans d'autres contextes (p.ex pour utiliser des pipes afin des les mettre en chaîne).
Le close() ne change rien au comportement.
merci.
David
C'est une question légitime:
Ouf.
Le thread est là parce que j'utilise les convertisseurs dans d'autres contextes (p.ex pour utiliser des pipes afin des les mettre en chaîne).
je ne vois pas le rapport.
Le close() ne change rien au comportement.
peux tu donner le code complet ?
C'est une question légitime:
Ouf.
Le thread est là parce que j'utilise les convertisseurs dans d'autres
contextes (p.ex pour utiliser des pipes afin des les mettre en chaîne).
Le thread est là parce que j'utilise les convertisseurs dans d'autres contextes (p.ex pour utiliser des pipes afin des les mettre en chaîne).
je ne vois pas le rapport.
Le close() ne change rien au comportement.
peux tu donner le code complet ? Oui, volontiers, je vais te l'envoyer demain, là je dois partir. A part
ça, l'appli est bien faite, j'espère qu'elle te servira.
fabrice-pas-despame.bacchella
On Sun, 10 Sep 2006 13:43:21 +0200, Raphael Tagliani wrote:
Ca donne quoi ça : // Le thread ecrit dans le buffer Thread converter = new ConverterThread(out, in, this.currentConverter, fileFrom) { void start() { super.start(); out.println("check"); };
Ca donne quoi ça :
// Le thread ecrit dans le buffer
Thread converter = new ConverterThread(out, in,
this.currentConverter, fileFrom) {
void start() {
super.start();
out.println("check");
};
On Sun, 10 Sep 2006 13:43:21 +0200, Raphael Tagliani wrote:
Ca donne quoi ça : // Le thread ecrit dans le buffer Thread converter = new ConverterThread(out, in, this.currentConverter, fileFrom) { void start() { super.start(); out.println("check"); };
converter.start();
fabrice-pas-despame.bacchella
On Wed, 13 Sep 2006 09:40:30 +0200, wrote:
On Sun, 10 Sep 2006 13:43:21 +0200, Raphael Tagliani wrote:
Ca donne quoi ça : // Le thread ecrit dans le buffer Thread converter = new ConverterThread(out, in, this.currentConverter, fileFrom) { void start() { super.start(); out.println("check"); };
converter.start();
Mmm, c'est pas start qu'il faut surcharger évidemment, mais la méthode qui fait le boulot effectif.
On Wed, 13 Sep 2006 09:40:30 +0200,
fabrice-pas-despame.bacchella@worldonline.fr wrote:
Ca donne quoi ça :
// Le thread ecrit dans le buffer
Thread converter = new ConverterThread(out, in,
this.currentConverter, fileFrom) {
void start() {
super.start();
out.println("check");
};
converter.start();
Mmm, c'est pas start qu'il faut surcharger évidemment, mais la méthode
qui fait le boulot effectif.
On Sun, 10 Sep 2006 13:43:21 +0200, Raphael Tagliani wrote:
Ca donne quoi ça : // Le thread ecrit dans le buffer Thread converter = new ConverterThread(out, in, this.currentConverter, fileFrom) { void start() { super.start(); out.println("check"); };
converter.start();
Mmm, c'est pas start qu'il faut surcharger évidemment, mais la méthode qui fait le boulot effectif.
Raphael Tagliani
Merci beaucoup les gars!
En fait, en regardant ConverterThread, j'ai réalisé que j'avais laissé trainer un out.close() à la fin de la méthode run... pathétique!
Si un convertisseur de fichiers qui fait des conversions 1 fichier -> 1 fichier et n fichiers -> n fichiers avec possibilité d'ajouter vos convertisseurs personnalisés et une jolie GUI, ça vous intéresse, faites-moi signe.
A bientôt!
On Wed, 13 Sep 2006 09:40:30 +0200, wrote:
On Sun, 10 Sep 2006 13:43:21 +0200, Raphael Tagliani wrote:
Ca donne quoi ça : // Le thread ecrit dans le buffer Thread converter = new ConverterThread(out, in, this.currentConverter, fileFrom) { void start() { super.start(); out.println("check"); };
converter.start();
Mmm, c'est pas start qu'il faut surcharger évidemment, mais la méthode qui fait le boulot effectif.
Merci beaucoup les gars!
En fait, en regardant ConverterThread, j'ai réalisé que j'avais laissé
trainer un out.close() à la fin de la méthode run... pathétique!
Si un convertisseur de fichiers qui fait des conversions 1 fichier -> 1
fichier et n fichiers -> n fichiers avec possibilité d'ajouter vos
convertisseurs personnalisés et une jolie GUI, ça vous intéresse,
faites-moi signe.
A bientôt!
On Wed, 13 Sep 2006 09:40:30 +0200,
fabrice-pas-despame.bacchella@worldonline.fr wrote:
Ca donne quoi ça :
// Le thread ecrit dans le buffer
Thread converter = new ConverterThread(out, in,
this.currentConverter, fileFrom) {
void start() {
super.start();
out.println("check");
};
converter.start();
Mmm, c'est pas start qu'il faut surcharger évidemment, mais la méthode
qui fait le boulot effectif.
En fait, en regardant ConverterThread, j'ai réalisé que j'avais laissé trainer un out.close() à la fin de la méthode run... pathétique!
Si un convertisseur de fichiers qui fait des conversions 1 fichier -> 1 fichier et n fichiers -> n fichiers avec possibilité d'ajouter vos convertisseurs personnalisés et une jolie GUI, ça vous intéresse, faites-moi signe.
A bientôt!
On Wed, 13 Sep 2006 09:40:30 +0200, wrote:
On Sun, 10 Sep 2006 13:43:21 +0200, Raphael Tagliani wrote:
Ca donne quoi ça : // Le thread ecrit dans le buffer Thread converter = new ConverterThread(out, in, this.currentConverter, fileFrom) { void start() { super.start(); out.println("check"); };
converter.start();
Mmm, c'est pas start qu'il faut surcharger évidemment, mais la méthode qui fait le boulot effectif.