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 :

conversion OutputStream en tableau de byte


Sujet :

Entrée/Sortie Java

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Points : 128
    Points
    128
    Par défaut conversion OutputStream en tableau de byte
    J'aimerais créer une méthode qui reçoit en paramètre un OutputStream qui représente un fichier pdf et j'aimerais transformer le contenu en tableau de byte

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonsoir,

    Un OutputStream permettrait à la rigueur d'écrire dans un fichier à partir d'un tableau byte pas l'inverse.
    En revanche, avec un InputStream, c'est possible: méthode read.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    si l'outputstream existe déjà, c'est cuit. Si tu veux un outputStream qui écrit en mémoire (tableau de byte) plutot que sur le disque, par exemple, utilise le ByteArrayOutputStream

  4. #4
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Points : 128
    Points
    128
    Par défaut
    J'ai écrit cela, j'obtiens quelque chose mais je doute.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    byte b[] = null;
    		if(outputStream != null)
    		{
    		ByteArrayOutputStream f = new ByteArrayOutputStream();
    		String outPutString = outputStream.toString();
    		byte buf[] = outPutString.getBytes();
    		f.write(buf);
            b = f.toByteArray();
    	    }
            return b;

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par friedamichelle Voir le message
    un OutputStream qui représente un fichier pdf
    Comment un OutputStream pourrait-il représenter un fichier PDF !?!?



    Que veux-tu faire précisément ? Explique clairement ce que tu veux faire et non pas comment tu penses le faire...

    a++

  6. #6
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Points : 128
    Points
    128
    Par défaut
    le contenu de l'InputStream représente les données d'un fichier pdf.
    Ce que j'aimerais c'est récupérer le contenu en tableau de byte.

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par friedamichelle Voir le message
    le contenu de l'InputStream représente les données d'un fichier pdf.
    InputStream ou OutputStream ????
    Citation Envoyé par friedamichelle Voir le message
    Ce que j'aimerais c'est récupérer le contenu en tableau de byte.
    Si c'est un InputStream il suffit de le lire, ou de le recopier dans un ByteArrayOutputStream...

    a++

  8. #8
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Points : 128
    Points
    128
    Par défaut
    J'ai écrit cela mais je n'ai rien en sortie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
                   //  InputStream is is;
                    ByteArrayOutputStream buffer = new ByteArrayOutputStream();
     
    		byte[] nextBytes = new byte[64000];
    		int nBytesRead;
    		while ((nBytesRead = is.read(nextBytes)) != -1)
    		{
    			buffer.write(nextBytes, 0, nBytesRead);
    			buffer.flush();
     
    		}
    		is.close();
    		return buffer.toByteArray();

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    As-tu vérifier que tu rentres bien dans ta boucle ? Sinon cela signifie que le flux est vide...


    a++

Discussions similaires

  1. conversion d'un tableau de byte en String
    Par Tunisiano87 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 18/11/2010, 17h59
  2. Conversion InputStream en tableau de bytes
    Par jujur dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 17/05/2009, 21h46
  3. Conversion String en tableau de Byte
    Par riete dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 05/09/2007, 09h27
  4. conversion d'un tableau de bytes en string
    Par prady92 dans le forum VB.NET
    Réponses: 3
    Dernier message: 16/03/2007, 13h47
  5. [C# 2.0] Conversion hexadécimale dans un tableau de byte[]
    Par cyllix dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/08/2006, 12h29

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