Interface graphique / RTFEditorKit

blodie Messages postés 2 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 12 février 2006 - 10 févr. 2006 à 02:02
blodie Messages postés 2 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 12 février 2006 - 12 févr. 2006 à 10:02
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

cutibipoulet Messages postés 26 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 20 mai 2007
11 févr. 2006 à 23:08
tu ferme bien les streams ?

fil.close() ?
0
blodie Messages postés 2 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 12 février 2006
12 févr. 2006 à 10:02
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 :)
0
Rejoignez-nous