Bonjour à vous,
J'ai actuellement un problème sous la forme de pdf (stockés en mémoire dans des tableaux de bytes) qui ne se dézippent pas correctement.
Je m'explique :
j'ai une méthode
qui me décode mal certains fichiers zip. J'en ai parlé à mon responsable de stage qui m'a dit qu'il manquait une boucle sur les zipentry.
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
16
17 public static byte[] getUnzippedBytes(byte[] in) throws IOException { ByteArrayInputStream input = new ByteArrayInputStream(in); ZipInputStream zip = new ZipInputStream(input); //position the stream to the first and only entry ("xml") ZipEntry entry = zip.getNextEntry(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); int read = zip.read(); while (read != -1) { baos.write(read); read = zip.read(); } input.close(); zip.close(); return baos.toByteArray(); }
J'ai donc modifié sa méthode en :
et ca ne me renvoie toujours pas un pdf en état de marche.
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
16
17
18
19
20
21
22
23 public static byte[] getUnzippedBytes(byte[] in) throws IOException { ByteArrayInputStream input = new ByteArrayInputStream(in); ZipInputStream zip = new ZipInputStream(input); //position the stream to the first and only entry ("xml") ZipEntry entry; ByteArrayOutputStream baos = new ByteArrayOutputStream(); while((entry=zip.getNextEntry())!=null){ int read = zip.read(); while (read != -1) { baos.write(read); read = zip.read(); } } input.close(); zip.close(); return baos.toByteArray(); }
J'ai fait des recherches sur le net pour trouver ce genre de méthodes mais 99% des méthodes de zip que je trouve fonctionnent sur des fichiers, et c'est un peu le bordel si je dois créer le pdf pour le ré-inputter afin de l'afficher et le supprimer une fois affiché.
Je me demandais donc si vous aviez une idée de ce qui clochait dans ma nouvelle méthode?
Merci d'avance.



Répondre avec citation
Partager