1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| private ByteArrayInputStream zipData(StringWriter writer) {
int size = 0;
byte[] buffer = new byte[1024];
ByteArrayInputStream in = new ByteArrayInputStream(writer.toString().getBytes());
ZipEntry entry = new ZipEntry("test.zip");
ByteArrayOutputStream out = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(out);
CheckedOutputStream checksum = new CheckedOutputStream(out, new Adler32());
zos = new ZipOutputStream(new BufferedOutputStream(checksum));
try {
zos.putNextEntry(entry);
zos.write(writer.toString().getBytes());
// copier et compresser les données
while ((size = in.read(buffer, 0, buffer.length)) > 0) {
zos.write(buffer, 0, size);
}
in.close();
in = new ByteArrayInputStream(zos.toString().getBytes());
zos.closeEntry();
} catch (IOException e) {
e.printStackTrace();
}
return in;
} |
Partager