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

Java Discussion :

Lecture et écriture dans un fichier


Sujet :

Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Points : 18
    Points
    18
    Par défaut Lecture et écriture dans un fichier
    Bonjour à tous,
    j'ai du mal un peu à comprendre la différence entre :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File f=new File("monfichier.txt");
    fr = new BufferedReader ( new FileReader(f));
    et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fr = new BufferedReader ( new FileReader("monfichier.txt"));
    // seul


    De même pour l'écriture avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(..)))
    :
    y'a t il une différence si on ajoute ou pas la première ligne ( ) ? si oui laquelle et quand est ce qu'on devrait utiliser chaque cas..
    Je croyais que ça a quelque chose à voir avec l'existence du fichier , mais quelques exemples m'en ont contredit..du coup je suis un peu perdue.
    Merci de bien vouloir m'aider.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    1) Il n'y a pas de différences (ou une mineure, un test de nullité sur la String) entre les deux codes au niveau de l'exécution. La première expression du code te permet juste d'avoir une variable intermédiaire de type File, sur laquelle effectivement tu peux tester l'existence par exemple.

    2) Pareil. Sauf qu'un PrintWriter est adapté à la sortie de texte (il encapsule un OutputStreamWriter alors que FileWriter étend OutputStreamWriter)

    Si on compare les codes source des constructeurs de PrintWriter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public PrintWriter(String fileName) throws FileNotFoundException {
       this(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName))), false);
    }
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public PrintWriter(File file) throws FileNotFoundException {
       this(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file))), false);
    }
    et de FileWriter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        public FileWriter(String fileName) throws IOException {
            super(new FileOutputStream(fileName));
        }
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        public FileWriter(File file) throws IOException {
            super(new FileOutputStream(file));
        }
    et de FleOutputStream

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        public FileOutputStream(String name) throws FileNotFoundException {
            this(name != null ? new File(name) : null, false);
        }
    On voit qu'il n'y a pas vraiment de différences : ce sont juste des raccourcis en quelque sorte pour des combinaisons souvent utilisées, car il y a une différence dans les différentes combinaisons. Parce que chaque type de Writer, OuputStream, Reader ou InputStream a des fonctions différentes : bufferisé, non bufferisé, adapté à l'écriture (ou lecture) de texte (en gérant l'encodage par exemple)...

Discussions similaires

  1. Lecture et écriture dans un fichier XOML
    Par SoftAbdou dans le forum Windows Workflow Foundation
    Réponses: 5
    Dernier message: 14/08/2009, 01h04
  2. lecture et écriture dans un fichier Excel
    Par chebmo90 dans le forum Débuter
    Réponses: 5
    Dernier message: 05/08/2009, 15h15
  3. Lecture et écriture dans un fichier .CSV
    Par yann87 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 03/03/2009, 09h04
  4. lecture et écriture dans un fichier
    Par hamham dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 18/12/2007, 15h03

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