Interface graphique / RTFEditorKit

Signaler
Messages postés
2
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
12 février 2006
-
Messages postés
2
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
12 février 2006
-
Bonsoir!!

Je suis en train de réaliser une application pour des besoins scolaires et je me heurte à un veritable mystère....

L'application que j'avais à réaliser consistait à convertir un fichier utilisé par un logiciel de modélisation en un autre type de fichier qui pourrait être utilisé par un autre logiciel de modélisation.

Jusque là tout va bien.

Dans mon interface graphique je dois afficher mes deux types de fichiers.
Si je crée par moi même un document du type ****.rtf et que je l'ouvre par une méthode du type ci dessous, tout marche très bien :

RTFEditorKit rtf = new RTFEditorKit () ;
JEditorPane editor = new JEditorPane();
editor.setEditorKit(rtf);

try {
FileInputStream fil = new FileInputStream("****.rtf" );
rtf.read( fil,editor.getDocument() ,0);
}

catch( BadLocationException ee ) { }
catch( FileNotFoundException ee ) { }
catch( IOException ee ) { }

Par contre si je convertis mon fichier1 accepté par le logiciel1 en fichier2 accepté par le logiciel2 et que ce fichier2 a bien une extension .rtf, rien ne s'affiche dans mon interface graphique. Si je fais un copié collé du fichier2 dans un nouveau .rtf et que j'enregistre moi même, il s'affiche de nouveau dans l'interface.

Comment est ce possible?

Merci par avance pour vos réponses ^^

2 réponses

Messages postés
26
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
20 mai 2007

tu ferme bien les streams ?

fil.close() ?
Messages postés
2
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
12 février 2006

Merci beaucoup pour ta réponse! A priori tout est bien fermé, je te mets l'allure de mon code :

File fichierEntree;
File fichierSortie;
FileReader fichierOriginal;
FileWriter fichierTraduit;
BufferedWriter ecrire;

fichierEntree = new File ("fichier1.rtf");
fichierSortie = new File ("fichier2.rtf");

fichierOriginal = new FileReader(fichierEntree);
fichierTraduit = new FileWriter(fichierSortie);

Lecture du fichier avec la méthode fichierOriginal.read(), puis code pour traduire le fichier de départ. Je ne met pas le code en entier car ce n'est pas compréhensible vu le type de fichier du logiciel qui est traduit.

ecrire = new BufferedWriter(fichierTraduit);

Ecriture dans le fichier avec les méthodes newLine(); et write();

ecrire.close();
fichierOriginal.close();
fichierTraduit.close();

Tu vois quelque chose qui empecherait l'affichage du fichier rtf traduit?

Merci beaucoup :)