IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Lire fichier rtf


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Lire fichier rtf
    Bonjour

    Tout débutant Java (Mac OS X)
    Comment lire proprement un fichier rtf contenant le texte suivant :


    Bonjour
    Fichier rtf tout simple
    Merci

    Avec le programme suivant (d'après le tutorial) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    public static void main(String[] args) throws IOException {
     
            BufferedReader inputStream = null;
     
            try { // Lecture ligne par ligne du fichier FichJava
     
                inputStream =
                new BufferedReader(new FileReader("/Users/gimac/Desktop/FichJava.rtf"));          
     
                String ligne; 
                while ((ligne = inputStream.readLine()) != null) 
                    {                                           
                    System.out.println ("ligne : ");
                    System.out.println (ligne);               
                    }
               } finally {
                if (inputStream != null)
                    inputStream.close();
                         }
     
            }  // Fin main
    j'obtiens les données suivantes et aimerais pouvoir me
    débarrasser de celles qui ne concernent pas mon texte :


    init:
    deps-jar:
    compile:
    run:
    ligne :
    {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf480
    ligne :
    {\fonttbl\f0\fswiss\fcharset77 Helvetica;}
    ligne :
    {\colortbl;\red255\green255\blue255;}
    ligne :
    \paperw11899\paperh16839\margl1440\margr1440\vieww9000\viewh8400\viewkind0
    ligne :
    \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
    ligne :

    ligne :
    \f0\fs24 \cf0 Bonjour\
    ligne :
    Fichier rtf tout simple \
    ligne :
    Merci\
    ligne :
    }
    BUILD SUCCESSFUL (total time: 0 seconds)
    MERCI BEAUCOUP

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Il va te falloir une api qui comprend les fichiers rtf. Tu peux essayer d'utiliser le javax.swing.text.rtf.RTFEditorKit, qui sait lire certains fichiers RTF. Sinon tu peux regarder le code source de l'indexer RTF dans le projet lucene (j'arrive pas à remettre la main dessus)

    Dernière option, faire le boulot toi même Le format rtf est chiant mais pas des plus compliqués.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Merci, tchize, pour cette réponse
    Donc, à moi d'extirper de ces buffers la substantifique moelle.
    Par ailleurs, je dois sans doute pouvoir en Java créer
    et remplir des fichiers Java que je pourrai relire
    ensuite sans problème.

  4. #4
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    Il y a une petite solution. Elle vaut ce qu'elle vaut, elle est très limitée mais pourrait peut-être suffire si votre document RTF ne contient que du texte. S'il contient des images, et que ce n'est pas du RTF "spécialisé" mais bien standard, ça devrait le faire aussi. Il s'agit d'utiliser le composant swing JTextPane. En réglant ce dernier sur le format RTF, il ne s'en sort pas trop mal. Pour cela, il suffit de faire un setContentType("text/rtf"); Dans votre cas il faudra peut-être préciser le charset s'il est supporté, comme votre fichier rtf a été produit sur un Mac, il y aura sur un PC d'inévitables problèmes de polices.
    Mais, bon, c'est une idée... La vraie solution reste à "parser" sois-même le format RTF. Bon courage...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

Discussions similaires

  1. [Débutant] Lire un fichier RTF
    Par jacko842 dans le forum VB.NET
    Réponses: 1
    Dernier message: 04/12/2012, 22h26
  2. Lire un fichier .rtf
    Par Trebor_ dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2008, 10h49
  3. Lire ce qui vient aprés X et avant Y sur fichier rtf
    Par K.othmane dans le forum Delphi
    Réponses: 3
    Dernier message: 01/02/2007, 00h33
  4. Réponses: 5
    Dernier message: 25/02/2005, 17h01
  5. inserer une image BMP dans un fichier rtf
    Par Alice9 dans le forum MFC
    Réponses: 17
    Dernier message: 06/07/2004, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo