Saltar al contenido

Hacer archivo tar por Java

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *