Transformer un DataInputStream en byte[ ] [RESOLU] - Java - Programmation
Marsh Posté le 24-07-2006 à 15:23:03
ca compile mais ca ne me donne pas le meme resultat que lorsque j enregistre le contenu dans un fichier
Code :
|
Marsh Posté le 24-07-2006 à 15:23:42
brisssou a écrit : |
ouais, mais perdu quand même ...
Citation : Returns the number of bytes that can be read from this input stream without blocking. |
donc en gros, ca marcherait, mais seulement avec les InputStream non bufferisés ...
Pour faire ça, t'as pas le choix : il faut faire de la lecture bloc par bloc, la stocker dans un ByteArrayOutputStream jusqu'à épuisement du InputStream et faire un getByte() pour récupérer le contenu...
Lenoiche a écrit : lorsque j enregistre le contenu dans un fichier |
pas la peine de passer par un fichier : un ByteArrayOutputStream te permettra de le faire en mémoire
Marsh Posté le 24-07-2006 à 15:37:42
Super ça marche
Code :
|
Merci messieurs pour voter aide
Marsh Posté le 24-07-2006 à 15:53:52
je déconseille la lecture octet par octet : ca consomme bcp de CPU . Fais ça par bloc en utilisant un tableau de byte :
Code :
|
Marsh Posté le 24-07-2006 à 16:47:31
alors la , sur ce coup , je te fait entierement confiance
merci pour ton aide
Marsh Posté le 08-08-2006 à 11:22:50
Trop long tout ça, je propose la même chose en une ligne :
Code :
|
Bon ok avec Commons IO dans le classpath
http://jakarta.apache.org/commons/io
Marsh Posté le 24-07-2006 à 15:01:26
Bonjour tout le monde,
Je recherche un moyen simple de transformer un flux DataInputStream en byte[]
C est faisable en enregistrant le flux en fichier, mais j'aimerais eviter cette solution. Puis transformer ce fichier en byte[]
Auriez vous une autre solution à me proposer ??
Message édité par Lenoiche le 24-07-2006 à 15:38:11