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 :

Question sur les fichiers


Sujet :

Entrée/Sortie Java

  1. #1
    Membre actif
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 253
    Points
    253
    Par défaut Question sur les fichiers
    Bonsoir,

    J'ai lu la partie consacrée à la gestion des fichiers en Java et je me demandais s'il y avait un genre de structure en Java ?
    j'ai pas trop comprit comment récupérer des données d'un fichier du type numérique , alphanumérique et les placers dans un genre de structure pour les manipuler peut être que j'ai pas bien comprit ?

    Existe-il une façon en Java de récupérer un fichier en séparant les informations de type différent ?

    Merci bien.

  2. #2
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    Bonsoir,

    vous pouvez sauvegarder et récupérer des données de différents types grâce à la sérialisation. Il suffit de récupérer les objets dans l'ordre qu'ils ont été écrits; par exemple:
    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
    public boolean enregistreDonnees( String sDossier, String sFichier )
    {
      try
      {
        fichierSource = new File( sDossier + File.separator + sFichier );
     
        // Ouverture d'un flux de sortie vers le fichier indiqué:
        FileOutputStream fOutStream = new FileOutputStream( fichierSource );
     
        // Création d'un flux "Objet" vers le flux de sortie:
        ObjectOutputStream oOutStream = new ObjectOutputStream( fOutStream );
     
        try
        {
          oOutStream.writeInt( 1 ); // N° de version des données
     
          // Listes adhérents:
          oOutStream.writeInt( ADH_dernier_id ); // Type int
     
          oOutStream.writeObject( listeAdhSD ); // ArrayList d'objets
          oOutStream.writeObject( listeAdhJA );
          oOutStream.writeObject( listeAdhReserve );
     
          // Planning:
          oOutStream.writeObject( listeJoursPlanning ); // ArrayList
     
          // Compta:
          oOutStream.writeInt( CPT_derniere_op );
     
          for ( index = 0; index < 12; index++ )
            for ( divers = 0; divers < 4; divers++ )
              OutStream.writeInt( tarifs_sup_peri[ index ][ divers ] ); // Tableau 2 dimension d'int
    /.../		 		
    }
    Ensuite pour charger ces données, il suffit de faire les choses dans le même ordre:
    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
    public boolean chargeDonnees( String sDossier, String sFichier )
    {
      try
      {
        // Ouverture d'un flux d'entrée vers le fichier indiqué:
        FileInputStream fInpStream = new FileInputStream( sDossier + File.separator + sFichier );
     
        // Création d'un flux "Objet" vers le flux de sortie:
        ObjectInputStream oInpStream = new ObjectInputStream( fInpStream );
     
        try
        {
          // Le 1er élément correspond à la version des données:
          divers = oInpStream.readInt();
     
          // Listes adhérents:
          ADH_dernier_id = oInpStream.readInt();
     
          listeAdhSD = (ArrayList<CItemAdherent>)oInpStream.readObject();
          listeAdhJA = (ArrayList<CItemAdherent>)oInpStream.readObject();
          listeAdhReserve = (ArrayList<CItemAdherent>)oInpStream.readObject();
     
          // Planning:
          listeJoursPlanning = (ArrayList<CJourPlanning>)oInpStream.readObject();
     
          // Compta:
          CPT_derniere_op = oInpStream.readInt();
     
          for ( index = 0; index < 12; index++ )
            for ( divers = 0; divers < 4; divers++ )
              tarifs_sup_peri[ index ][ divers ] = (int)oInpStream.readInt();
     
     
    /.../
    }
    Ne pas oublier de gérer les exceptions...et tous les objets doivent implémenter l'interface Serialisable
    En espérant que cela vous aide...
    @ bientôt...
    @ bientôt...

    Salut & @+ sur 3W!

Discussions similaires

  1. Question sur les fichiers
    Par simoj dans le forum C
    Réponses: 2
    Dernier message: 19/04/2008, 10h11
  2. Encore une question sur les fichiers midi
    Par m14w dans le forum Delphi
    Réponses: 1
    Dernier message: 07/05/2007, 22h51
  3. [AIX] Une question sur les fichiers
    Par Bahan dans le forum AIX
    Réponses: 1
    Dernier message: 11/04/2007, 08h59
  4. [RegEx] Question sur les fichiers
    Par xdoreau dans le forum Langage
    Réponses: 4
    Dernier message: 21/02/2007, 09h55
  5. Questions sur les fichiers Ressource .RC .RES
    Par dexterz dans le forum Langage
    Réponses: 10
    Dernier message: 01/08/2005, 10h15

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