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 :

[Débutant] Comment déterminer la fin d'un fichier?


Sujet :

Entrée/Sortie Java

  1. #1
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 85
    Par défaut [Débutant] Comment déterminer la fin d'un fichier?
    Bonjour à tous,

    Je suis sur un projet pour l'école qui tourne autour des fichiers et j'aimerais
    savoir si il existe une méthode pour déterminer la fin d'un fichier.

    Car je voudrais pouvoir parcourir un fichier de la manière suivante:

    Tant que not eof #Client faire:
    Lire nomCli, prenomCli

    Est-ce possible à l'aide d'une méthode ou bien faut-il faire du bricolage pour
    y arriver?

    Merci d'avance pour vos réponses,
    Greg

  2. #2
    Membre éclairé Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Par défaut
    Comment se présente ton fichier?

    A.

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 85
    Par défaut
    Salut Akira!

    Et bien j'écris mon fichier de la manière suivante:
    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
     
    public static void clientSerializer(Client cli)
    {
        try
        {
           ObjectOutputStream objectOut= new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream("D:/ISE\\Projet Java\\client.bin",true)));
           objectOut.writeObject(cli);
           objectOut.close();
         }
         catch(NotSerializableException e)
         {
            System.err.println(e);
         }
         catch(InvalidClassException e)
         {
            System.err.println(e);
         }
         catch(IOException e)
         {
            System.err.println(e);
         }
    }

  4. #4
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 85
    Par défaut
    En fait j'ai vu qu'il y avait moyen d'utiliser read(), si il retourne -1 c'est que
    c'est la fin du fichier. Le problème c'est que j'utilise readObject().

    Quelqu'un à la solution?

  5. #5
    Membre éclairé Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Par défaut
    Non je voulais savoir comment se présente le fichier que tu souhaite lire.
    Tu veux bien lire un fichier ou tu souhaite en écrire un?

    A.

  6. #6
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 85
    Par défaut
    Ha oui.

    En fait je voudrais lire mon fichier.
    Je voudrais lire chaque objet de mon fichier et ce jusqu'à la fin de
    mon fichier.
    Comment puis-je tester la fin de mon fichier?

  7. #7
    Membre éclairé Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Par défaut
    Ok une petite recherche et je tombe sur ça:

    http://www.developpez.net/forums/arc...p/t-33361.html

    ça répond à ton probléme?

    Je te conseille également de passer par une collection ou mieux par une classe dédier qui fera le "stockage" de tous tes objets et qui sera sérialisé.

    A.

  8. #8
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Comme ca avec une exception detype EOFException

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        try {
    Lecture du fichier
        } catch(EOFException e) {
          System.out.println("Fin de fichier");
        }

  9. #9
    Membre éclairé Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Par défaut
    C'est la solution la plus simple mais la moins élégante on va dire.

    En fait on va prendre un exemple tout bête.

    Disons que tu as un certains nombre de voiture dans un local.
    Dans ton cas tu stocke les voitures une par une dans un fichier afin de les recharger depuis ce même fichier plus tard. Et tu utilise le mécanisme des exception pour savoir à quel moment il n'y a plus de voiture à charger depuis ton fichier. Une solution plus orienté object serait de créer une classe garage ou tu va gérer tes N voiture graçe au méthode (add, remove ...) et ensuite c'est cette classe là que tu va sérialisé.

    Du coup plus besoin de tester la fin du fichier puisqu'il n'y a plus qu'un objet à lire.

    C'est clair? j'ai pas l'impression mais j'essaye hein

    A.

  10. #10
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 85
    Par défaut
    D'accord je vois ce que vous voulez dire.

    Merci beaucoup pour vos conseils!

    Je vais mettre ça en pratique ce soir et je vous dis quoi dés que je sais.
    Je croise les doigts pour que ça marche.

    A très bientôt et bonne soirée à tous,
    Greg

  11. #11
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 85
    Par défaut
    Voilà, chose promise chose due. Je reviens pour vous donner de mes
    nouvelles!

    J'ai retapé mon programme pour qu'il fonctionne comme vous me l'avez
    conseillé et devinez quoi... Ca marche!
    J'utilise donc maintenant un Vector que je serialize et deserialize autant
    de fois que j'en ai besoin, sans compté que c'est beaucoup plus facile
    à utiliser!

    Encore merci à vous tous .

    A la prochaine,
    Greg

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fwrite : Comment écrire à la fin d'un fichier?
    Par philipina dans le forum Débuter
    Réponses: 5
    Dernier message: 19/08/2008, 16h10
  2. Comment tester la fin d'un fichier ?
    Par Teddy dans le forum Delphi
    Réponses: 3
    Dernier message: 25/05/2007, 08h22
  3. [Débutant] Comment écrire et lire dans un fichier
    Par jeanver dans le forum Delphi
    Réponses: 6
    Dernier message: 15/02/2007, 01h02
  4. [C#] Comment déterminer si c'est un fichier ou un dossier
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/11/2006, 11h31
  5. Comment déterminer la fin d'un message sur le port serie ?
    Par zeddy23 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/01/2005, 05h12

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