Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2011, 04:54
JaimeLG
 
Fecha de Ingreso: marzo-2008
Mensajes: 22
Antigüedad: 16 años, 2 meses
Puntos: 1
Zipear con java en ficheros de tamaño fijo

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.