Sergio, miembro de este equipo de trabajo, nos ha hecho el favor de escribir este tutorial ya que controla perfectamente el tema.
Solución:
Yo miraría Apache Commons Compress.
Hay un ejemplo en la parte inferior de esta página de ejemplos, que muestra un ejemplo de alquitrán.
TarArchiveEntry entry = new TarArchiveEntry(name);
entry.setSize(size);
tarOutput.putArchiveEntry(entry);
tarOutput.write(contentOfEntry);
tarOutput.closeArchiveEntry();
Puede utilizar la biblioteca jtar – Java Tar.
Tomado de su sitio:
JTar es una biblioteca Java Tar simple, que proporciona una manera fácil de crear y leer archivos tar usando flujos IO. La API es muy simple de usar y similar al paquete java.util.zip.
Un ejemplo, también de su sitio:
// Output file stream
FileOutputStream dest = new FileOutputStream( "c:/test/test.tar" );
// Create a TarOutputStream
TarOutputStream out = new TarOutputStream( new BufferedOutputStream( dest ) );
// Files to tar
File[] filesToTar=new File[2];
filesToTar[0]=new File("c:/test/myfile1.txt");
filesToTar[1]=new File("c:/test/myfile2.txt");
for(File f:filesToTar)
out.putNextEntry(new TarEntry(f, f.getName()));
BufferedInputStream origin = new BufferedInputStream(new FileInputStream( f ));
int count;
byte data[] = new byte[2048];
while((count = origin.read(data)) != -1)
out.write(data, 0, count);
out.flush();
origin.close();
out.close();
.tar
los archivos de almacenamiento no están comprimidos. Tienes que ejecutar una compresión de archivo como gzip y convertirlo en algo como .tar.gz
.
Si solo desea archivar un directorio, eche un vistazo a:
- http://www.trustice.com/java/tar/
- http://code.google.com/p/jtar/
Si aceptas, tienes la libertad de dejar una sección acerca de qué te ha gustado de este escrito.