2012-10-08 45 views
16

Quiero comprimir un archivo en formato zip, rar y 7z utilizando el código java. También quiero descomprimir estos archivos en una ubicación específica. ¿Alguien puede decirme cómo comprimir y descomprimir archivos usando 7-zip en java?Comprimir y descomprimir archivo 7z en java

+4

¿Intentó perforar '7zip java' en un motor de búsqueda? Habría encontrado hits como [7-Zip-JBinding] (http://sevenzipjbind.sourceforge.net/). –

+0

Lo he intentado pero solo pude obtener la lista de archivos. – user1728310

+0

Vaya a [esta página] (http://sourceforge.net/projects/sevenzipjbind/files/7-Zip-JBinding/4.65-1.05rc-extr-only/). Hay un enlace en la parte superior si quieres la versión de Windows. –

Respuesta

0

También puede escribir una secuencia de comandos por lotes o ejecución de comandos simplemente en línea, que se llama a partir de java para extraer y comprimir. Tenga en cuenta que esta opción es solo para plataformas de Windows y requirió algunas habilidades administrativas. 7zip proporciona un archivo exe para facilitar esto. Lo he usado para uno de mis servicios y funcionó perfectamente. Si está interesado, puedo enviarle el código.

+0

O bien, se refiere a un script bash, que no funcionará muy a menudo en Windows, o un script por lotes, que no funcionará muy a menudo en Windows. Incluso hay sistemas que tienen Java pero no scripts en absoluto, como algunos teléfonos móviles. – Olathe

+0

Hola, Olate, la suposición es que el código se ejecutará en Windows, así que me refería al script por lotes. La pregunta no especificaba si se ejecutará en Linux o Windows. Decir que no funcionará es absolutamente ridículo ya que lo he hecho antes. \t \t \t \t \t \t \t \t \t \t \t cmd String = "cmd/c" + [7Zip APP] + "x" + [ARCHIVO] + "-o" + [Destino]; \t \t \t \t \t \t \t \t \t \t \t proceso Proceso = Runtime.getRuntime(). Exec (cmd.Encadenar()); 7 zip proporciona una aplicación que puedes usar para extraer y comprimir. ¿Votando mi respuesta? . Esto funciona perfectamente en Windows –

+0

No necesariamente funciona perfectamente en Windows. El usuario tiene que instalar el software 7-Zip sin error para que funcione, lo cual es bastante complicado, particularmente si el usuario no está del todo bien con las computadoras (lo cual es aún más difícil si no tiene) derechos administrativos; ¿sabrán siquiera que existe la ruta de búsqueda del shell para que puedan configurarse correctamente?). Más importante aún, existen soluciones multiplataforma mucho más sencillas que no requieren la instalación de ningún software adicional y que funcionarán también en servidores web Linux y Android, donde Java se usa mucho. – Olathe

3

SevenZipBinding es ideal para la descompresión, incluso detecta el formato de forma automática. El problema es que no puede comprimir. Puede crear archivos zip usando ZIP4J. Sin embargo, ofrece solo zip transparente. LZMA aparentemente puede comprimir archivos individuales en archivos 7z, pero aún no lo he probado.

Cuestiones relacionadas