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 :

Ecraser des données en début de fichier


Sujet :

Entrée/Sortie Java

  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut Ecraser des données en début de fichier
    Bonjour,

    Je suis en train de générer un fichier AVI à partir de JPEG. Pour cela je créer un entête avec des données fake (contentLength = 0 ...), j'écris les données (mes images) et je mets à jours l'entête.

    Je voudrais s'il y a une méthode permettant de remplacer les données de l'entête, donc en début de fichier.

    Le code que je reprends pour effectuer cette opération utilise la classe RandomAccessFile. Mais dans mon code, je n'ai jamais accès à un objet de type File (c'est de l'android), seulement à FileOutputStream et à partir de cette classe, FileChannel. J'ai essayé la méthode FileChannel.write(ByteBuffer b, long position), mais j'ai l'impression quelle insert les données plutôt qu'écraser le fake entête. Est-ce que je me trompe ?

    Voilà ma question : existe-t-il un moyen plus efficace que utiliser un fichier intermédiaire pour effectuer l'opération suivante :

    FH FH FH FH FH => RH RH RH RH RH
    DDDDDDDDDDDD => DDDDDDDDDDDD
    DDDDDDDDDDDD => DDDDDDDDDDDD

    avec FH = Fake Header, RH = Real Header et D = Data

    Sachant que je suis en android et que la mémoire et le CPU sont limités

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    À part ne rien faire tant que tu ne peux pas générer directement le vrai header, j'avoue que je sèche.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Le truc c'est que j'ai besoin de la taille du header avant d'ajouter mes images car elles sont indexée. De plus je ne peut pas garder les images en mémoire sinon j'ai des fuites de mémoires liées à la gestion foireuse des bitmaps par Android.
    Pour l'instant, j'utilise un Fichier intermédiaire dans lequel j'écris via un FileOutputStream le Fake Header puis les Data. Ensuite j'ouvre le FileOutputStream de mon fichier final j'écris le Real Header, je skip la lecture du Fake Header dans le fichier intérmédiaire et je copie les Data dans le fichier final.
    Sur les téléphones testés (GS3, Nexus S), ça fonctionne sans lague mais j'ai des doutes pour des téléphones moins puissant. Pareil dans le cas où la vidéo est plus longue...

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/08/2006, 13h51
  2. [MySQL] Inserer des donnée provenant d'un fichier
    Par agencep dans le forum PHP & Base de données
    Réponses: 48
    Dernier message: 20/02/2006, 18h30
  3. Transposer des données sql dans un fichier texte
    Par Anakior dans le forum Outils
    Réponses: 3
    Dernier message: 11/12/2005, 11h01
  4. récupérer des données saisies dans un fichier
    Par natie_49 dans le forum C++
    Réponses: 6
    Dernier message: 24/11/2005, 12h29
  5. [JList] Lecture des données sauvegardées dans un fichier
    Par Myogtha dans le forum Composants
    Réponses: 7
    Dernier message: 10/06/2004, 22h05

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