Problème avec ZipFile et InputStream - Java - Programmation
Marsh Posté le 13-12-2003 à 17:41:29
J'ai trouvé, mais je ne comprends pas pourquoi. :
Voici le nouveau code :
Code :
|
Est-ce que quelqu'un pourrait m'expliquer pourquoi cette solution fonctionne et pas l'autre. Ce serait gentil.
Merci!
Edit : mon pseudo a beau etre Shaman-Yo, je suis le posteur originel : Yo C Spi.
Marsh Posté le 14-12-2003 à 11:17:35
Pour l'instant, je ne sais pas. Peux-tu nous dire la taille de ton fichier XML, zippé comme non zippé ?
Marsh Posté le 14-12-2003 à 14:06:25
XML non compressé : 5838 octets
compressé : 909
Sans le BufferedInputStream, les octets extraits étaient de l'ordre de 2000.
Dans ce zip, il y avait aussi des images, leur taille est comprise entre 5 ett 7Ko (compression quasi nulle, ce sont des JPG), et le problème était le meme.
Merci!
Marsh Posté le 14-12-2003 à 14:58:16
Dans le premier bout de code, si tu fais un System.out.println(size), qu'est-ce que ça affiche ? et dans le deuxième cas ?
Marsh Posté le 14-12-2003 à 15:21:11
xmlEntry.getSize() => 5838
xmlEntry.getCompressedSize() => 909
(Les données sont les meme avec WinRar, donc correctes)
Dans le premier cas :
size => environ 2000 !!! (je sais plus trop mais c'est pas du tout le résultat attendu)
J'ai donc mon tableau xmlBytes de taille 5838 qui n'est pas rempli en entier.
Dans le deuxième cas :
size => 5838
PS : j'ai hate de voir la section sur la bonne création d'interface graphiques en Java sur ton site, je me pose bcp de questions a ce sujet.
Marsh Posté le 14-12-2003 à 16:09:22
Sur Swing, j'ai des trucs à écrire en effet.
Quel JDK utilises-tu ? Le code source (en 1.4.2) de la methode read(byte[], int, int) de la classe InputStream est :
Code :
|
Cela pourrait valoir le coup d'incorporer cette méthode dans une classe utilitaire et de tracer ce qui se passe, histoire de comprendre. Pour l'instant, je sèche.
Marsh Posté le 14-12-2003 à 20:05:48
Code :
|
Ca n'a rien a voir mais à quoi il sert le "if (b != null)" à chaque iteration alors qu'il a deja été fait au debut de la methode ?
Marsh Posté le 14-12-2003 à 20:16:50
R3g a écrit :
|
Pas à grand chose. Envoyons un mail d'injures à Arthur van Hoff, l'auteur de cette classe !
Marsh Posté le 12-12-2003 à 21:33:16
Salut!
Voila, je cherche a ouvrir un fichier zippé mais ai quelques petits problèmes.
Je zippe des données avec mon appli, elles sont correctes, mais je n'arrive pas à les lire.
Lorsque je fais : in.read(), je ne récupère qu'une partie des données, la taille des données récupérées ne correspont pas à la taille du fichier ni à la taille de celui-ci compressé.
Puisqu'ici, j'extrais un XML, je me retrouve avec un "demi" XML.
Voici mon code :
Merci