Cómo obtener el nombre de un TAR en un GZIP, así como el número de TAR

Me preguntaba si hay alguna API de Java para obtener el nombre del archivo TAR en un archivo GZIP, así como la cantidad de archivos TAR que contiene. (No estoy seguro si se permiten múltiples TAR en un GZIP)

Así es como accedo a los archivos / directorios en un archivo TAR

    FileInputStream fis = new FileInputStream(new File(sourceFile));
    GZIPInputStream gin = new GZIPInputStream(fis);
    TarInputStream tin = new TarInputStream (gin);

    TarEntry tarEntry = tin.getNextEntry();  

Necesito verificar si estoy descomprimiendo el archivo TAR apropiado, por eso necesito la información sobre el nombre. También necesito asegurarme de que solo haya un archivo TAR, por lo tanto, necesito el número de TAR.

Respuesta 1

Aunque los archivos GZIP pueden contener cierta metainformación, incluido el nombre de archivo original, que en realidad no lo ayudará. Ese nombre de archivo no es válido en muchos casos porque gzip (1) no conocía el nombre al crear el archivo porque obtuvo los datos no del sistema de archivos sino a través de un controlador de archivos de tubería.

Por lo tanto, la convención habitual es que el nombre del archivo gzip es el mismo que el nombre de archivo original con ".gz" adjunto u opcionalmente reemplazando el sufijo ".tar" con ".tgz".

En el lado bueno: un archivo GZIP puede contener solo un flujo de datos (también conocido como archivo en este caso), por lo tanto, solo un archivo TAR. Por supuesto, esto excluye los casos maliciosos en los que alguien concatena varios archivos, llama a gzips en el resultado y lo nombra " .tar.gz" o " .tgz".

Respuesta: 2

necesitamos activar el evento ajax en la selección de fila al alternar la casilla de verificación ... Traté de encontrar un ejemplo, pero solo están haciendo la selección de fila al hacer clic en p: botón de comando. Estamos usando primefaces 2.2 Código & ...

Estoy trabajando en una aplicación web usando JSF2 y en uno de mis formularios creo un archivo PDF que contiene una imagen y una fuente específica. Las resistencias se encuentran en el directorio WebContent. Mi problema es ...

Entiendo cómo obtener el conjunto de documentos de un objeto de Término, pero ¿puede dar la vuelta para obtener los términos / frecuencias de término de un objeto de Documento?

Estoy usando regexp en gran medida en mi proyecto. Necesito algunas sugerencias para las cadenas de prueba: 1 cadena 3.33 cadena 1 cadena -3.33 Necesito hacer coincidir las líneas 2 y 3 (...