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
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
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.
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
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;
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.
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();
As-tu vérifier que tu rentres bien dans ta boucle ? Sinon cela signifie que le flux est vide...
a++
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager