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 :

Comment creer (ecrire et lire) un fichier ?


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut Comment creer (ecrire et lire) un fichier ?
    Bonjour a tous, je voudrais pouvoir creer un type de fichier précis.
    Je voudrais que un fichier soit en fait un sondage, c'est a dire une liste de question binaire (oui-non, pour-contre, perso-perso).

    Comment puis-je faire? avec un vector de type question?

    Merci d'avance, j'espere avoir était clair dans ma question


  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    creer un type de fichier précis
    Que veux-tu dire par là. En java, pour faire très simple, il y a deux types de fichiers : les fichiers textes (ceux dont le contenu est compréhensible par l'humain et éditables par le bloc-note ou vi) et les fichiers binaires.

    que un fichier soit en fait un sondage
    ???

    avec un vector de type question?
    Il ne faut plus utiliser Vector (bien que cela soit possible), mais List.

    Pour conclure, d'après ce que j'ai compris :
    Ecrit une classe qui possèderait comme attribut :
    - la question
    - une liste de réponses possibles
    - la bonne réponse
    Crée une liste qui va contenir autant d'instances de cette classe qu'il y a de questions.
    Enfin, il ne te reste plus qu'à sérialiser la liste via FileOutputStream et ObjectOutputStream.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut
    désolé de ne pas avoir été clair dans ma question.

    En fait, je veux que le fichier soit une liste de questions binaires, maiq eu l'on puisse en ajouter ou en retirer, pourrais-je le faire avec une liste?

  4. #4
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Javadoc --> java.util.List et java.util.ArrayList (une des implémentations de List).
    Tu y trouveras les méthodes add, remove, get, insert etc.
    Vu que tu débutes (j'en ai conclus ça puisque tu ne connais pas List), je te déconseille de te lancer dans les ajouts, suppression etc. directement dans les fichiers.
    Pour faire simple : tu utilises la liste (ajout/suppresion etc.) et une fois que tu as terminé de t'en servir, tu la sérialises.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut
    bonjour,

    je suis arrivé à creer ma liste puis a la sérialiser mais je ne sais pas comment lire ensuite ligne par ligne le contenu de mon fichier.


    voila ce que j'ai pour l'instant:
    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
     
    public class Question implements Serializable{
         public static void main(String[] args) { 
     
     
     
     
    MaFenQuestion C1;
    MaFenQuestion C2;
    QuestionBinaire QBS;
    QBS = new QuestionBinaire ("test");
     
     
     
    C1 = new MaFenQuestion("Question de sondage",200,200, QBS, "pour", "contre");
    C2 = new MaFenQuestion("Question de sondage",200,200, QBS, "pour", "contre");
     
     
    LinkedList listeClient = new LinkedList();
     
    listeClient.add(C1);
    listeClient.add(C2);
     
    try{
       FileOutputStream sortie = new FileOutputStream("test.sond");
       ObjectOutputStream p = new ObjectOutputStream(sortie);
       p.writeObject(listeClient);
       p.flush();
       sortie.close();
    }catch(IOException ioe){
       System.out.println("erreur dans la sérialisation : "+ ioe);
    }
     
    try {
       FileInputStream f = new FileInputStream("test.sond");
       f.read();
     
     
    } catch (FileNotFoundException e) {
        // . . .
    } catch (IOException e) {
        // . . .
    }
     
    }}

  6. #6
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    ET LES BALISES CODE !!!!
    Sérialisation veut dire sauvegarder un objet dans sa totalité sous forme binaire, ce qui est totallement différent des sauvagardes texte ligne par ligne.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut


    désolé je débute dans le domaine, je crois que ça se voit. Que dois-je faire alors?

  8. #8
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    pour utiliser la balise code c'est "#" dans l'éditeur quand tu postes un messages.
    Pour en revenir à ton prooblème :
    - Soit tu sérialises tes objets en les enregistrement séquentiellement en binaire. Comme je te l'ai dit précédemment. La sérialisation se faisant en mode binaire, il est normal que tu n'arrives pas à lire (sous forme textuelle) le contenu, seul "java" via la désérialisation est capable de le lire.
    - Soit tu utilises FileReader/Writer et tu devras gérer toi-même la conversion de tes objets en données texte (et inversement pour les charger). Je déconseille cette méthode au néophytes.

    Pour résumer (et me répéter) : tu mets tous les objets que tu as besoin d'enregistrer dans une liste (ces objets doivent implémenter l'interface Serializable) et tu sérialise/désérialise cette liste. Tous les objets contenus dans cette liste le seront également.

Discussions similaires

  1. ecrire et lire un fichier .txt
    Par sky88 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 20/04/2008, 17h28
  2. [VC++] creer, ecrire et lire dans des fichiers .ini
    Par ksoft dans le forum Visual C++
    Réponses: 11
    Dernier message: 06/09/2006, 11h18
  3. [CSV] Ecrire et Lire un fichier Excel depuis PHP
    Par cocaetjusdorange dans le forum Langage
    Réponses: 7
    Dernier message: 08/02/2006, 12h10
  4. Réponses: 6
    Dernier message: 08/04/2005, 04h00
  5. [TP]comment creer une disquette bootable (les fichiers)
    Par ludovic5532 dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 25/10/2003, 19h46

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