TarEntry

Inheritance: java.lang.Object

public class TarEntry

Represents single file within tar archive.

Methods

MethodDescription
extract(OutputStream destination)Extracts the entry to the stream provided.
extract(String path)Extracts the entry to the filesystem by the path provided.
getLength()Get length of the entry in bytes.
getName()Gets the name of the entry within archive.
isDirectory()Gets a value indicating whether the entry represents a directory.
open()Opens the entry for extraction and provides a stream with entry content.
setName(String value)Sets the name of the entry within archive.

extract(OutputStream destination)

public final void extract(OutputStream destination)

Extracts the entry to the stream provided.

Extract an entry of tar archive.


     try (TarArchive archive = new TarArchive("archive.tar")) {
         archive.getEntries().get_Item(0).extract(httpResponseStream);
     }
 

Parameters:

ParameterTypeDescription
destinationjava.io.OutputStreamDestination stream. Must be writable.

extract(String path)

public final File extract(String path)

Extracts the entry to the filesystem by the path provided.


     try (TarArchive archive = new TarArchive("archive.tar")) {
         archive.getEntries().get_Item(0).extract("data.bin");
     }
 

Parameters:

ParameterTypeDescription
pathjava.lang.StringThe path to destination file. If the file already exists, it will be overwritten.

Returns: java.io.File - The file info of composed file.

getLength()

public final long getLength()

Get length of the entry in bytes.

Returns: long - length of the entry in bytes.

getName()

public final String getName()

Gets the name of the entry within archive.

Returns: java.lang.String - the name of the entry within archive.

isDirectory()

public final boolean isDirectory()

Gets a value indicating whether the entry represents a directory.

Returns: boolean - a value indicating whether the entry represents a directory.

open()

public final InputStream open()

Opens the entry for extraction and provides a stream with entry content.

Usage:


     InputStream decompressed = entry.open();
     byte[] buffer = new byte[8192];
     int bytesRead;
     while (0 < (bytesRead = decompressed.read(buffer, 0, buffer.length))) {
         fileStream.write(buffer, 0, bytesRead);
     }
 

Read from the stream to get original content of file. See examples section.

Returns: java.io.InputStream - The stream that represents the contents of the entry.

setName(String value)

public final void setName(String value)

Sets the name of the entry within archive.

Parameters:

ParameterTypeDescription
valuejava.lang.Stringthe name of the entry within archive.