Hola:
Tengo un código java que comprime ficheros o directorios, creando el árbol de directorios cuando es necesario. Lo que quiero añadir es la posibilidad de fijar un tamaño para el zip resultante y así enviarlo por correo en varios ficheros o correos si el fichero zip se hace demasiado pesado.
El código que inserta los ficheros es el siguiente:
Código:
static private void addToZip(String path, String srcFile, ZipOutputStream zip) {
File folder = null;
folder = new File(new String(srcFile));
if (folder.isDirectory()) {
addFolderToZip(path, srcFile, zip);
}
else {
// Transfer bytes from in to out
byte[] buf = new byte[BUFFER];
int len;
String ruta = "";
try {
FileInputStream in = new FileInputStream(srcFile);
ruta = path + separador + new String(folder.getName());
if (path == null || path.equals(""))
ruta = ruta.substring(1);
zip.putNextEntry(new ZipEntry(ruta));
while ((len = in.read(buf)) > 0) {
zip.write(buf, 0, len);
}
}
catch (Exception ex){
ex.printStackTrace();
}
}
}
Si alguien tiene alguna idea sobre cómo hacerlo, se lo agradecería.
Un saludo.