com.ejie.r01f.file
Class FileCompressorUtils

java.lang.Object
  extended bycom.ejie.r01f.file.FileCompressorUtils

public abstract class FileCompressorUtils
extends java.lang.Object

Utilidades con ficheros empaquetados. IMPORTANTE: Si se utiliza esta clase se debe referenciar en el classpath la librería commons-compress-1.0.jar de Apache.


Field Summary
static java.lang.String DEFAULT_ZIPFILE_ENCODING
          Encoding por defecto
 
Constructor Summary
FileCompressorUtils()
           
 
Method Summary
static void appendToZipFile(java.lang.String zipFileName, java.lang.String fileName, java.io.InputStream fileContentsIS)
          Añadir un archivo a un empaquetado.
static void createZipFile(java.lang.String zipFileName, java.util.List files, java.lang.String encoding)
          Crea un empaquetado con los archivos especificados.
static void createZipFile(java.lang.String zipFileName, java.lang.String zipEntryPath, java.util.List files, java.lang.String encoding)
          Crea un empaquetado con los archivos especificados, utilizando por entrada sólo el nombre del fichero y un path opcional.
static void extractContentsFromZipFile(java.lang.String zipFileName, java.lang.String targetPath)
          Extraer el contenido del empaquetado en el directorio especificado, se usa el encoding CodePage 437(CP437).
static void extractContentsFromZipFile(java.lang.String zipFileName, java.lang.String targetPath, java.lang.String encoding)
          Extraer el contenido del empaquetado en el directorio especificado.
static java.lang.StringBuffer printContentsFromZipFile(java.lang.String zipFilename)
          Cadena con el contenido del archivo.
static java.lang.StringBuffer printContentsFromZipFile(java.lang.String zipFilename, java.lang.String encoding)
          Cadena con el contenido del archivo.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_ZIPFILE_ENCODING

public static final java.lang.String DEFAULT_ZIPFILE_ENCODING
Encoding por defecto

See Also:
Constant Field Values
Constructor Detail

FileCompressorUtils

public FileCompressorUtils()
Method Detail

printContentsFromZipFile

public static java.lang.StringBuffer printContentsFromZipFile(java.lang.String zipFilename)
Cadena con el contenido del archivo. Un ejemplo de un archivo empaquetado puede ser: 02/02/2010 [11:59:22] ########### Contenido del archivo noticias-irekia.zip ########## DIR 1000/ DIR 1000/es_1000/ 01/02/2010 05:35 789 1000/es_1000/1000.html DIR 1000/es_1000/data/ 01/02/2010 05:35 78 1000/es_1000/data/es_1000.xml 01/02/2010 05:35 1753 1000/1000-content.xml DIR 1000/eu_1000/ 01/02/2010 05:35 791 1000/eu_1000/1000.html DIR 1000/eu_1000/data/ 01/02/2010 05:35 78 1000/eu_1000/data/eu_1000.xml DIR 1005/ DIR 1005/es_1005/ 01/02/2010 05:35 3000 1005/es_1005/1005.html DIR 1005/es_1005/data/ 01/02/2010 05:35 78 1005/es_1005/data/es_1005.xml 01/02/2010 05:35 1249 1005/1005-content.xml DIR 1006/ 01/02/2010 05:35 1997 1006/1006-content.xml DIR 1006/es_1006/ 01/02/2010 05:35 7120 1006/es_1006/1006.html DIR 1006/es_1006/data/ 01/02/2010 05:35 78 1006/es_1006/data/es_1006.xml DIR 1006/eu_1006/ 01/02/2010 05:35 6624 1006/eu_1006/1006.html DIR 1006/eu_1006/data/ 01/02/2010 05:35 78 1006/eu_1006/data/eu_1006.xml DIR 02/02/2010 10:20 928 contents-description.txt ============14 ficheros encontrados.

Parameters:
zipFilename - path y nombre del fichero, se usa el encoding CodePage 437(CP437)
Returns:
cadena con el contenido del archivo

printContentsFromZipFile

public static java.lang.StringBuffer printContentsFromZipFile(java.lang.String zipFilename,
                                                              java.lang.String encoding)
Cadena con el contenido del archivo. Un ejemplo de un archivo empaquetado puede ser: 02/02/2010 [11:59:22] ########### Contenido del archivo noticias-irekia.zip ########## DIR 1000/ DIR 1000/es_1000/ 01/02/2010 05:35 789 1000/es_1000/1000.html DIR 1000/es_1000/data/ 01/02/2010 05:35 78 1000/es_1000/data/es_1000.xml 01/02/2010 05:35 1753 1000/1000-content.xml DIR 1000/eu_1000/ 01/02/2010 05:35 791 1000/eu_1000/1000.html DIR 1000/eu_1000/data/ 01/02/2010 05:35 78 1000/eu_1000/data/eu_1000.xml DIR 1005/ DIR 1005/es_1005/ 01/02/2010 05:35 3000 1005/es_1005/1005.html DIR 1005/es_1005/data/ 01/02/2010 05:35 78 1005/es_1005/data/es_1005.xml 01/02/2010 05:35 1249 1005/1005-content.xml DIR 1006/ 01/02/2010 05:35 1997 1006/1006-content.xml DIR 1006/es_1006/ 01/02/2010 05:35 7120 1006/es_1006/1006.html DIR 1006/es_1006/data/ 01/02/2010 05:35 78 1006/es_1006/data/es_1006.xml DIR 1006/eu_1006/ 01/02/2010 05:35 6624 1006/eu_1006/1006.html DIR 1006/eu_1006/data/ 01/02/2010 05:35 78 1006/eu_1006/data/eu_1006.xml DIR 02/02/2010 10:20 928 contents-description.txt ============14 ficheros encontrados.

Parameters:
zipFilename - path y nombre del fichero
encoding - el encoding a ser utilizado para el nombre de los archivos, utilizar null para usar el encoding por de fecto de la plataforma.
Returns:
cadena con el contenido del archivo

extractContentsFromZipFile

public static void extractContentsFromZipFile(java.lang.String zipFileName,
                                              java.lang.String targetPath)
                                       throws java.io.IOException
Extraer el contenido del empaquetado en el directorio especificado, se usa el encoding CodePage 437(CP437).

Parameters:
targetPath - path destino
Throws:
java.io.IOException - error al descomprimir el archivo

extractContentsFromZipFile

public static void extractContentsFromZipFile(java.lang.String zipFileName,
                                              java.lang.String targetPath,
                                              java.lang.String encoding)
                                       throws java.io.IOException
Extraer el contenido del empaquetado en el directorio especificado.

Parameters:
targetPath - path destino
encoding - el encoding a ser utilizado para el nombre de los archivos, utilizar null para usar el encoding por defecto de la plataforma.
Throws:
java.io.IOException - error al descomprimir el archivo

createZipFile

public static void createZipFile(java.lang.String zipFileName,
                                 java.util.List files,
                                 java.lang.String encoding)
                          throws java.io.IOException
Crea un empaquetado con los archivos especificados.

Parameters:
files - archivos a empaquetar, cada entrada es un path del archivo.
encoding - el encoding a ser utilizado para el nombre de los archivos, utilizar null para usar el encoding por defecto de la plataforma.
Throws:
java.io.IOException - error al descomprimir el archivo

createZipFile

public static void createZipFile(java.lang.String zipFileName,
                                 java.lang.String zipEntryPath,
                                 java.util.List files,
                                 java.lang.String encoding)
                          throws java.io.IOException
Crea un empaquetado con los archivos especificados, utilizando por entrada sólo el nombre del fichero y un path opcional.

Parameters:
zipEntryPath - path relativo que precede al nombre del fichero en la entrada correspondiente del fichero zip. Ej: "directorio", "directorio/subdirectorio", ""
files - archivos a empaquetar
encoding - el encoding a ser utilizado para el nombre de los archivos, utilizar null para usar el encoding por defecto de la plataforma.
Throws:
java.io.IOException - error al descomprimir el archivo

appendToZipFile

public static void appendToZipFile(java.lang.String zipFileName,
                                   java.lang.String fileName,
                                   java.io.InputStream fileContentsIS)
                            throws java.lang.Exception
Añadir un archivo a un empaquetado. Para ello si el empaquetado no existe se crea. El proceso es el siguiente: 1) Validaciones previas 2) Se crea el archivo empaquetado si no existe 3) Se crea un archivo temporal con extension '.tmp' 4) Se realiza la copia del archivo origen en el temporal, y se añade la nueva entrada 5) Se borra el original y se renombra el temporal con el nombre del original

Parameters:
zipFileName - el fichero empaquetado
fileName - archivo a empaquetar
fileContentsIS - contenido del archivo
Throws:
java.io.IOException - error al añadir un archivo a otro
java.lang.Exception