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 :

[Byte] Passer de [] byte à [] Byte ?


Sujet :

Entrée/Sortie Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 28
    Par défaut [Byte] Passer de [] byte à [] Byte ?
    Bonjour,
    Voilà à partir d'un fichier et d'un FileOutputStream, je crée un tableau de byte (type primitif). Seulement j'aurais besoin de transformer ce tableau en tableau de type java.lang.Byte.
    Il y a bien la méthode barbare :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(int i = 0; i <= nombreDeByte; i++)
    {
       monTableaudeByte[i] = new Byte(monTableauDeBytePrimitif[i]);
    }
    Le problème c'est que je gère des fichiers de 6 Mo et en faisant cette boucle je crée un java.OutOfMemoryError (Inévitable si on y réfléchit bien).
    Il y aurait-il un autre moyen de procéder ?
    Merci d'avance.

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut Re: [Byte] Passer de [] byte à [] Byte ?
    Hello,

    Citation Envoyé par Galima
    Le problème c'est que je gère des fichiers de 6 Mo et en faisant cette boucle je crée un java.OutOfMemoryError (Inévitable si on y réfléchit bien).
    bin j'ai beau réfléchir, je ne vois pas... tu veux en venir ou? même si ils proviennent d'un fichier, ces bytes ne pèsent, allez disons, qu'un byte !!! Je ne vois pas trop pourquoi ça te fait une erreur pareil (à moins que ton tableau ait plusieurs milions d'indices, mais dans ce cas-là il serait urgent de revoir l'algo ! lol)

    Il y aurait-il un autre moyen de procéder ?
    Moi je n'en vois aucun autre...

  3. #3
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    B'jour,

    Affecter plus de mémoire à la machine virtuelle.
    Mais d'abord vérifier qu'il n'y a pas d'erreurs dans le code.

    La taille d'un tableau est un integer (vérifier que l'on ne dépasse pas la capacité maximale. !!!

    Pour affecter plus de mémoire, je ne me rappelle plus de la commande.
    Ca commence par -vmargs -X........ (Faut trouver ce qu'il y a à la place des points).

    bon courage. [/code]

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 28
    Par défaut
    Merci pour les réponses mais je me suis compliqué la vie pour rien. En fait avec 6Mo la taille du tableau était trop importante. Je voulais passer de byte à Byte car il me fallait quelque chose de primitif ou de serializable pour l'envoyer sur un canal sous JSDT et les bytes ca n'avait pas l'air de bien marcher. J'ai donc créé uns classe qui implemente serializable avec trois arguments :
    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
     
    /**
    Nom de fichier
     */
    private String name;
     
    /**
    Taille de l'image (du tableau de bytes)
     */
    private int taille;
     
    /**
    Tableaux de bytes representant l'image
     */
    private byte [] byteArray;
    Et maintenant ca marche nickel.
    Merci quand même.

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

Discussions similaires

  1. Difference Entre Byte() et B() as Byte
    Par Thesum dans le forum VB.NET
    Réponses: 2
    Dernier message: 13/10/2008, 16h37
  2. [DOM] Invalid byte 2 of 3-byte UTF-8 sequence.
    Par aroua dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 14/05/2008, 15h20
  3. [XSLT] [Xsl/Fop] Invalid byte 3 of 3-byte UTF-8 sequence
    Par Eylir dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 27/12/2007, 11h49
  4. Invalid byte 2 of 3-byte UTF-8 sequence
    Par Finrod dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 06/06/2007, 10h55
  5. [Image]Conversion Image en byte[] ou BufferedImage en byte[]
    Par ¤ Actarus ¤ dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 11/12/2005, 22h46

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