CpioEntry

Inheritance: java.lang.Object

public final class CpioEntry

Represents single file within cpio 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.
getLastWriteTimeUtc()Gets the last write time.
getLength()Gets the length of the entry in bytes.
getName()Gets the name of the entry within archive.
getParent()Gets the archive the entry belongs to.
isDirectory()Gets a value indicating whether the entry represents a directory.
open()Opens the entry for extraction and provides a stream with entry content.
toString()Returns string representation of the instance of the CpioEntry class.

extract(OutputStream destination)

public final void extract(OutputStream destination)

Extracts the entry to the stream provided.

Extract an entry of cpio archive.


     try (CpioArchive archive = new CpioArchive("archive.cpio")) {
         archive.getEntries().get(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 (CpioArchive archive = new CpioArchive("archive.cpio")) {
         archive.getEntries().get(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

getLastWriteTimeUtc()

public final Date getLastWriteTimeUtc()

Gets the last write time.

Returns: java.util.Date - the last write time

getLength()

public final long getLength()

Gets the length of the entry in bytes.

Returns: long - the 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

getParent()

public final CpioArchive getParent()

Gets the archive the entry belongs to.

Returns: CpioArchive - the archive the entry belongs to

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:


     CpioArchive archive = new CpioArchive("archive.cpio");
     CpioEntry entry = archive.getEntries().get(0);
     try (FileOutputStream fileStream = new FileOutputStream("data.bin")) {
         try (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);
             }
         }
     } catch (IOException ex) {
     }
 

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

toString()

public String toString()

Returns string representation of the instance of the CpioEntry class.

Returns: java.lang.String - string representation of this object.