zipper des fichiers - Java - Programmation
Marsh Posté le 09-07-2009 à 14:51:28
Precision:
je viens d'ouvrir le zip generer avec notepad, c'est l'envoie sur la sortie qui plante.
Le toString() n'envoie pas les données mais le type de l'objet.
Donc le fichier generer est un fichier texte avec BufferedInputStream.
Le probleme est donc:
passer les données de out ou buff à op
Marsh Posté le 09-07-2009 à 15:23:37
Mais pourquoi diable t'attends-tu à ce que toString() et println() envoient des données zippées ?
T'as du binaire, pas des caractères.
Marsh Posté le 09-07-2009 à 15:34:35
bon alors le boulot du println c'est d'envoyer les données sur la sortie. En l'occurence ici ServletOutputStream et donc il me renvoie bien le fichier generer.
Par contre pour le toString, je l'avais pris sur un tuto que je retrouve pas et je pensais qu'il etait overriden pour renvoyer les bytes du bufferedinputstream dans une string.
Marsh Posté le 09-07-2009 à 15:39:04
Bin non, toString() ça renvoie une String, c'est la signature de la méthode (c'est même son nom)
Pour println() non, son boulot c'est envoyer des chaînes, pas des tableaux de bytes. Vois plutôt du côté de write()
Sinon, en vrac :
* t'as pas besoin de BufferedOutputStream, tu peux mettre direct ton FileOutputStream, ça t'évitera la création d'un objet.
* une fois que t'as fait close() sur ton ZipOutputStream, ton opération est terminée et tu devrais avoir tes données dans ton fichier... non ?
* pis révise un peu la notion de streams en Java, l'idée même de vouloir faire un toString ou de récupérer des données quelconques sur buff me fait peur
Marsh Posté le 09-07-2009 à 15:41:18
trouvé, j'utilise comme constructeur du buffered output stream le servlet output stream et ca marche (bon j'avais trouvé ca y a 30 min mais les fichiers du serveurs etaient perimés et ca me renvoyait des fichier vides).
Il reste peut etre des artefacts d'erreurs.
Code :
|
Marsh Posté le 09-07-2009 à 14:10:27
Bonjour,
je dois recuperer des fichiers sur un serveur, les zipper, puis les envoyer sur la sortie en telechargement (java web pour info).
J'ai un code qui compile mais le fichier semble etre corrompu. Il fait la taille du premier fichier que je lui passe seulement et ni windows ni 7zip ne peuvent l'ouvrir.
Voici mon code, en esperant que quelqu'un pourra m'aider.
---------------
Toinou87 ;-p May the force be with you!!