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 :

[File] Ecriture / Lecture simultanée sur un fichier


Sujet :

Entrée/Sortie Java

  1. #1
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut [File] Ecriture / Lecture simultanée sur un fichier
    Bonjour,

    Pour certaines raisons dans l'un de mes programmes j'aurais besoin - si cela est possible - d'écrire et lire plus ou moins simultanément dans un fichier (des objets). Enfin, par simultanément je veux dire par là qu'il y aurait un flux de lecture et un flux d'écriture ouvert en même temps sur le fichier.

    J'aurais aimé savoir avant de me lancer dedans, si :
    1 - Est-ce possible d'avoir ces deux flux ouverts en même temp ?
    2 - Comment adapter ces lectures / écritures sur des ObjectStream (ObjectOutputStream / ObjectInputStream) ?

    Pour le point 2 quelques explications : Je voudrais écrire des objets dans un fichier (référencés par une clé (String)) en même temps pouvoir loader les objets enregistrés dans ce fichier en fonction de la clé de recherche.
    J'ai regardé un peu la doc, je suis tombé sur les classes 'java.io.ObjectInputStream.GetField' et 'java.io.ObjectOutputStream.PutField'. Est ce que utilisées avec les méthodes 'readFields' et 'writeFields' des classes ObjectOutputStream et ObjectInputStream, je pourrais règler mon problème ?

    Merci pour vos réponses.

  2. #2
    Membre régulier Avatar de gelam
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 69
    Points : 74
    Points
    74
    Par défaut
    Bonjour,
    Je ne pense pas qu'il soit possible d'ouvrir deux flus sur un même fichier (un en lecture et un en écriture). En effet ouvrir un flux en écriture génère un nouveau fichier vide. Ceci écrase le fichier existant.
    D'autre part lors de la première écriture dans un ObjectOutputStream un entête est inséré.
    je te conseillerais de chercher du côté des RandomAccesFile qui offrent un mode read-write mais tu devras tois même écrire le code de sérialisation-désérialisation de tes objets. Il y a pas mal de boulot.
    Avez-vous remarqué les progrès que fait l'ignorance?
    [Tristan Bernard ]

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Je confirme que tu ne peux pas écrire dans un fichier (File) qui est ouvert.

    La solution est de créer un second File et d'y copier le contenu du premier et ajouter les modifications.

    Il faudra ensuite renommer le nouveau fichier par le nom du premier et supprimer l'ancien.

    Autrement, comme dit plus haut, il te reste le RandomAccessFile.

    beegees

Discussions similaires

  1. accès simultanément sur un fichier via ssh
    Par MSM_007 dans le forum Linux
    Réponses: 0
    Dernier message: 04/05/2010, 11h18
  2. Pb lecture simultanée sur un enregistremnt
    Par TONY44 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 26/01/2007, 19h25
  3. Nombre de connections simultanées sur un fichier ?
    Par smarties dans le forum Statistiques
    Réponses: 7
    Dernier message: 12/11/2006, 01h35
  4. Lecture simultanée de 2 fichiers MP3
    Par mweber_29200 dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/05/2006, 14h07

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