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 :

importer un fichier (txt ou non)


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 34
    Par défaut importer un fichier (txt ou non)
    bonjour
    aussi clairement que possible voici mon probleme ( du moment)
    pour importer un fichier txt, situe quelque part sur le disque dur, jusque dans le JTextPane de mon appli je n'ai pas trouver autre chose que de passer par un fichier temporaire situer lui dans les ressources de mon appli : sa marche textPane.setPage(url); ...sauf que sa ne fonctionne qu'une seule fois .les requettes suivante sur setPage(url) sont sans effet visible l'url en question ne changeant pas... donc pour resumer mon probleme : je ne suis pas arriver a importer un fichier disons text directement dans nom JTextPane... deja est-se possible ?
    Et de plus pour exporter le text de ce JText Pane dans un fichier je passe par un StringBufferInputStream sa aussi sa marche mais sa as l'inconvenient d'etre deprecier pui-je passer par un autre InputStream ? certainement que oui mais lequel je n'ai pas su trouver..
    peut etre pourrais vous m'aider !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Bonjour,
    Tu pourrais passer par le BufferedReader, il possède la méthode readLine() qui te permet de lire ligne par ligne.

  3. #3
    Membre chevronné Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Par défaut
    Je présume que tu es géné, lorsque tu cherches à afficher un fichier, que la méthode setPage demande une url, et non pas un fichier. Pour résoudre la situation, il faut, non pas mettre ton fichier dans les ressources, mais utiliser la méthode toURL de File.

    Cela donne quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    File fichier;
     
    fichier = new File(voieVersLeFichier);
    textpane.setPage(fichier.toURL().toString());

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 34
    Par défaut
    Bonjour
    ellene
    je ne peu pas passer par le BufferedReader car je travaille avec des Bytes
    speakal
    se n'est pas la methode setPage(url) qui me pose probleme c'est de trouver un outputStream qui me permete d'ecrire directement dans un JTextPane,
    se qui fait que pour le moment je suis la procedure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
                            inputStream = new FileInputStream(currentPathFile);
                            outputStream = new FileOutputStream(temp+extend);
    // temp et une chaine representant le nom du fichier "temporaire" .
                             int c;
                            while ((c = inputStream.read()) != -1)
                            outputStream.write(c);
                            outputStream.close();
                      } catch (java.io.IOException io) {
                            io.printStackTrace();
                       }
                       showNewDoc(temp+extend);
                       }
    La methode showNewDoc(String stg)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                  java.net.URL docUrl = null;
                  try{
                  docUrl = PhaseTest.class.getResource(stg);
                       if (docUrl != null) {
                            jtp.setPage(docUrl);
                            jtp.validate();
                       }
    ( dans les deux cas les methodes ne sont pas mise au complet...)

  5. #5
    Membre chevronné Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Par défaut
    Citation Envoyé par beb-mbs
    se n'est pas la methode setPage(url) qui me pose probleme c'est de trouver un ImputStream qui me permete d'ecrire directement dans un JTextPane,
    Excuse-moi, je ne comprends rien ; un InputStream n'a jamais permis d'écrire nulle part, seulement de lire.

    Si tu veux écrire, par l'intérmédiaire d'un OutputStream (ce sera déjà plus facile ! ), directement dans un JTextPane, le principe de base est simplement de redéfinir une des méthodes write, de façon à renvoyer les caractères écrits dans le texte du JTextPane.

  6. #6
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut simple methode pour lire et ecrire dans un fichier
    bonjours ,
    pour ton probleme voila deus methode l'une pour ecrire dans une fichier et l'autre pour lire :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    // io = input/output (entrée/sortie) 
    import java.io.*; 
    //ce package est necessaire pour executer ce programme 
     
     
    //appellez bien votre fichier Test.java 
    public class Test 
    { 
     
        //fonction main 
        public static void main(String args[]) 
        { 
     
            String texteaecrire = "texte...\nsaut de ligne"; 
     
            Lireetecrire lee = new Lireetecrire(); 
            //execution de la fonction ecrire de la classe Lireetecrire avec le String texteaecrire comme argument 
            lee.ecrire(texteaecrire); 
            //execution de la fonction lire de la classe Lireetecrire 
            lee.lire(); 
     
     
        } 
     
     
     
    } 
     
     
     
    class Lireetecrire 
    { 
     
    //fonction ecrire void = la fonction ne retourne rien 
        //mais prend comme argument    la chaine de charactere(Sring) texte qui correspond a texteaecrire 
        public void ecrire(String texte) 
        { 
            //on va chercher le chemin et le nom du fichier et on me tout ca dans un String 
            String adressedufichier = System.getProperty("user.dir") + "\\monfichier.txt"; 
     
            //on me try si jamais il y a une exception 
            try 
            { 
     
                //BufferedWriter a besoin d un FileWriter, 
                //les 2 vont ensemble, on donne comme argument le nom du fichier 
                //true signifie qu on ajoute dans le fichier (append), on ne marque pas par dessus 
                FileWriter fw = new FileWriter(adressedufichier, true); 
     
                // le BufferedWriter output auquel on donne comme argument le FileWriter fw cree juste au dessus 
                BufferedWriter output = new BufferedWriter(fw); 
     
                //on marque dans le fichier ou plutot dans le BufferedWriter qui sert comme un tampon(stream) 
                output.write(texte); 
                //on peut utiliser plusieurs fois methode write 
     
                output.flush(); 
                //ensuite flush envoie dans le fichier, ne pas oublier cette methode pour le BufferedWriter 
     
                output.close(); 
                //et on le ferme 
     
            } 
            catch(IOException ioe){System.out.println("erreur : " + ioe );} 
            //on "catch" l exception ici si il y en a une, et on l affiche sur la console 
     
     
        } 
     
        //je vais moins commenter cette partie c'est presque la meme chose 
        public void lire() 
        { 
     
            try 
            { 
     
     
                String adressedufichier = System.getProperty("user.dir") + "\\monfichier.txt"; 
     
                FileReader fr = new FileReader(adressedufichier); 
                BufferedReader br = new BufferedReader(fr); 
     
                String texte = ""; 
                int a = 0; 
                    while(a<2) //petite boucle 2 fois 
                    { 
                        texte = texte + br.readLine() + "\n"; 
                        a++;         
                    } 
                br.close(); 
     
                //readLine pour lire une ligne 
                //note: si il n y a rien, la fonction retournera la valeur null 
     
     
                System.out.println(texte); 
                //on affiche le texte 
     
            } 
            catch(IOException ioe){System.out.println("erreur : " + ioe);} 
     
     
     
        } 
     
    }

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/10/2012, 10h28
  2. [VBA-excel] import de fichier txt sans délimiteur de texte
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/01/2008, 05h49
  3. Import de fichier TXT
    Par REMACC1 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/08/2007, 14h29
  4. probleme d'import de fichier txt avec des tab
    Par lecureuil dans le forum Access
    Réponses: 4
    Dernier message: 23/08/2005, 19h22
  5. .bat pour l'import de fichier txt dans postgres
    Par pseudomh dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/03/2005, 00h02

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