Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2270 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  ZInputStream / ZOutputStream en Francais

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ZInputStream / ZOutputStream en Francais

n°940189
Rafax
Posté le 07-01-2005 à 13:15:57  profilanswer
 

bonjour à tous et désolé, j'ai posté un message précédent en Anglais...
 
Je disais donc que je voudrais zipper un tableau de bytes (byte[]) dans une base de données.
Pour zipper, ca a l'air de fonctionner comme je veux, puis je le mets dans un BLOB, ok puis je récupère le BLOB de la base de données (ok, bonne taille) puis je n'arrive pas à dézipper.
 
Voici mon code :
POUR ZIPPER :  

Code :
  1. byte[] ba = GetmyByteArray();
  2. /* => ba.length=182029 */
  3. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  4. ZipOutputStream zos =new ZipOutputStream(baos);
  5. zos.setLevel(9);
  6. zos.setMethod(ZipOutputStream.DEFLATED);
  7. ZipEntry ze = new ZipEntry("toto" );
  8. ze.setSize(ba.length);
  9. zos.putNextEntry(ze);
  10. zos.write(ba);
  11. zos.closeEntry();
  12. zos.close();
  13. byte[] baZipped = baos.toByteArray();
  14. pstSTATEMENT.setBytes(i+1, baZipped);
  15. /* => baZipped.length = 179253 */


 
Pour dézipper :  

Code :
  1. Blob bResult = myResultSet.getBlob(iCOL);
  2. /* => The Blob has the good size (same as baZipped.length) */
  3. InputStream bais = bResult.getBinaryStream();
  4. ZipInputStream zipReader = new ZipInputStream(bais);
  5. ZipEntry ze = zipReader.getNextEntry();
  6. /* => ZipEntry has "toto" as name => OK */
  7. /* => ZipEntry has -1 as size and as compressedSize => beuh */
  8. int i = zipReader.read(buf) ;
  9. int i = zipReader.read(buf, 0, 182029); 
  10. /* => both return 858 instead of 182029 */


 
Merci de votre aide,
 
Raphael.

mood
Publicité
Posté le 07-01-2005 à 13:15:57  profilanswer
 

n°940326
Rafax
Posté le 07-01-2005 à 15:13:49  profilanswer
 

En fait, il semblerait que l'on puisse faire comme ca aussi (mais j'ai essayé, et j'ai toujours le meme pb) :
ZIP :

Code :
  1. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  2. DeflaterOutputStream dos = new DeflaterOutputStream(baos);
  3. dos.write(ba);
  4. dos.close();


UNZIP :

Code :
  1. InflaterInputStream iis = new InflaterInputStream(bResult.getBinaryStream());
  2. iis.read(buf);


Le pb que je rencontre aussi ici, c'est de savoir quelle taille donner à mon buf ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  ZInputStream / ZOutputStream en Francais

 

Sujets relatifs
Comment mettre le moteur java en Français ?Qui a une idée pour traduire netbeans en francais?
visual studio: de l'anglais au français?Mon script sous GPL est utilisé chez un provider francais
différence entre access français et anglaisrecherche module e-commerce francais
Site français de programmation avec la librairie Qt.Site français de programmation avec la librairie QT.
Dictionnaire Francais-Anglais pour traducteur en C.tutoriaux bash en francais
Plus de sujets relatifs à : ZInputStream / ZOutputStream en Francais


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR