Comment créer un fichier zip de plusieurs fichiers image
Je suis en train de créer un fichier zip de plusieurs fichiers d'image. J'ai réussi à créer le fichier zip de toutes les images, mais de toute façon toutes les images ont été pendus à 950 octets. Je ne sais pas ce qui se passe mal ici et maintenant je ne peux pas ouvrir les images ont été compressés dans un fichier zip.
Voici mon code. Quelqu'un peut-il me faire savoir ce qu'il se passe ici?
String path="c:\\windows\\twain32";
File f=new File(path);
f.mkdir();
File x=new File("e:\\test");
x.mkdir();
byte []b;
String zipFile="e:\\test\\test.zip";
FileOutputStream fout=new FileOutputStream(zipFile);
ZipOutputStream zout=new ZipOutputStream(new BufferedOutputStream(fout));
File []s=f.listFiles();
for(int i=0;i<s.length;i++)
{
b=new byte[(int)s[i].length()];
FileInputStream fin=new FileInputStream(s[i]);
zout.putNextEntry(new ZipEntry(s[i].getName()));
int length;
while((length=fin.read())>0)
{
zout.write(b,0,length);
}
zout.closeEntry();
fin.close();
}
zout.close();
OriginalL'auteur Vighanesh Gursale | 2013-05-14
Vous devez vous connecter pour publier un commentaire.
Changer cela:
:
Et de définir la taille du tampon de 1024 octets:
si vous pensez que cette réponse est appropriée, il faut l'accepter. la même chose s'applique à toutes vos questions que vous avez posées dans le passé
OriginalL'auteur hoaz
C'est mon zip fonction que j'ai toujours utiliser pour toutes les structures de fichier:
Hi - vous avez raison, afin de conserver la structure du dossier, il est préférable d'utiliser *.getCanonicalName() j'ai adapté à ma réponse, merci.
Salut. Je me demande (i) pourquoi nous ne sommes pas de compensation de la mémoire tampon après.écrire déclaration, ne serait pas de tampon obtenez débordé ? (ii) quelle devrait être la taille de la mémoire tampon gardé en général pour la taille des fichiers de moins de 1 MO ?
OriginalL'auteur salocinx