Hi,
My solution didn't pass (althought it worked on my computer,for what I could see) until I take a look at the help section and test the ByteArrayOutputStream
In my solution, to save content of the differents ZipEntry I used a buffer sized thanks the ZipEntry class getSize method and success to store in it the content by using the read(byte[]) method of ZipInputStream, and later I used this buffer to write in the corresponding file in the new folder zip
Why doesn't it work like this ?
My solution :
while ((ze = zipIn.getNextEntry()) != null) {
byte [] b = new byte[(int) ze.getSize()];
zipIn.read(b);
zipEntries.put(ze,b)
}
Solution which passed :
while ((ze = zipIn.getNextEntry()) != null) {
byte[] buffer = new byte[1024];
ByteArrayOutputStream builder = new ByteArrayOutputStream();
int end;
while ((end = zipIn.read(buffer)) > 0) {
builder.write(buffer, 0, end);
}
zipEntries.put(ze, builder.toByteArray());
}
Thanks a lot for your help, and sorry for bad english.