RarArchiveEntry

Inheritance: java.lang.Object

All Implemented Interfaces: com.aspose.zip.IArchiveFileEntry

public abstract class RarArchiveEntry implements IArchiveFileEntry

Represents single file within archive.

Cast a RarArchiveEntry instance to RarArchiveEntryEncrypted to determine whether the entry encrypted or not.

Methods

MethodDescription
extract(OutputStream destination)Extracts the entry to the stream provided.
extract(OutputStream destination, String password)Extracts the entry to the stream provided.
extract(String path)Extracts the entry to the filesystem by the path provided.
extract(String path, String password)Extracts the entry to the filesystem by the path provided.
getCompressedSize()Gets size of compressed file.
getCreationTime()Gets creation date and time.
getExtractionProgressed()Gets an event that is raised when a portion of raw stream extracted.
getLastAccessTime()Gets last access date and time.
getLength()Gets length.
getModificationTime()Gets last modified date and time.
getName()Gets the name of the entry within archive.
getUncompressedSize()Gets size of original file.
isDirectory()Gets a value indicating whether the entry represents a directory.
open()Opens the entry for extraction and provides a stream with decompressed entry content.
open(String password)Opens the entry for extraction and provides a stream with decompressed entry content.
setExtractionProgressed(Event<ProgressEventArgs> value)Sets an event that is raised when a portion of raw stream extracted.

extract(OutputStream destination)

public final void extract(OutputStream destination)

Extracts the entry to the stream provided.

Extract an entry of rar archive with password.


    try (FileInputStream rarFile = new FileInputStream("archive.rar")) {
        try (RarArchive archive = new RarArchive(rarFile)) {
            archive.getEntries().get(0).extract(outputStream, "p@s$");
        }
    } catch (IOException ex) {
    }
 

Parameters:

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

extract(OutputStream destination, String password)

public final void extract(OutputStream destination, String password)

Extracts the entry to the stream provided.

Extract an entry of rar archive with password.


    try (FileInputStream rarFile = new FileInputStream("archive.rar")) {
        try (RarArchive archive = new RarArchive(rarFile)) {
            archive.getEntries().get(0).extract(outputStream, "p@s$");
        }
    } catch (IOException ex) {
    }
 

Parameters:

ParameterTypeDescription
destinationjava.io.OutputStreamDestination stream. Must be writable.
passwordjava.lang.StringOptional password for decryption.

extract(String path)

public final File extract(String path)

Extracts the entry to the filesystem by the path provided.

Extract two entries of rar archive.


    try (FileInputStream rarFile = new FileInputStream("archive.rar")) {
        try (RarArchive archive = new RarArchive(rarFile)) {
            archive.getEntries().get(0).extract("first.bin", "pass");
            archive.getEntries().get(1).extract("second.bin", "pass");
        }
    } catch (IOException ex) {
    }
 

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.

extract(String path, String password)

public final File extract(String path, String password)

Extracts the entry to the filesystem by the path provided.

Extract two entries of rar archive.


    try (FileInputStream rarFile = new FileInputStream("archive.rar")) {
        try (RarArchive archive = new RarArchive(rarFile)) {
            archive.getEntries().get(0).extract("first.bin", "pass");
            archive.getEntries().get(1).extract("second.bin", "pass");
        }
    } catch (IOException ex) {
    }
 

Parameters:

ParameterTypeDescription
pathjava.lang.StringThe path to destination file. If the file already exists, it will be overwritten.
passwordjava.lang.StringOptional password for decryption.

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

getCompressedSize()

public final long getCompressedSize()

Gets size of compressed file.

Returns: long - size of compressed file.

getCreationTime()

public final Date getCreationTime()

Gets creation date and time.

Returns: java.util.Date - creation date and time.

getExtractionProgressed()

public final Event<ProgressEventArgs> getExtractionProgressed()

Gets an event that is raised when a portion of raw stream extracted.


    archive.getEntries().get(0).setExtractionProgressed(new Event<ProgressEventArgs>() {
        public void invoke(Object sender, ProgressEventArgs progressEventArgs) {
            int percent = (int) ((100 * (long) progressEventArgs.getProceededBytes()) / ((RarArchiveEntry) sender).getUncompressedSize());
        }
    });
 

Event sender is an RarArchiveEntry instance.

Returns: Event - an event that is raised when a portion of raw stream extracted.

getLastAccessTime()

public final Date getLastAccessTime()

Gets last access date and time.

Returns: java.util.Date - last access date and time.

getLength()

public final Long getLength()

Gets length.

Returns: java.lang.Long - length.

getModificationTime()

public final Date getModificationTime()

Gets last modified date and time.

Returns: java.util.Date - last modified date and time.

getName()

public final String getName()

Gets the name of the entry within archive.

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

getUncompressedSize()

public final long getUncompressedSize()

Gets size of original file.

Returns: long - size of original file.

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 decompressed 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.

open(String password)

public final InputStream open(String password)

Opens the entry for extraction and provides a stream with decompressed 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.

Parameters:

ParameterTypeDescription
passwordjava.lang.StringOptional password for decryption. It can also be set within RarArchiveLoadOptions.setDecryptionPassword(String).

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

setExtractionProgressed(Event<ProgressEventArgs> value)

public final void setExtractionProgressed(Event<ProgressEventArgs> value)

Sets an event that is raised when a portion of raw stream extracted.


    archive.getEntries().get(0).setExtractionProgressed(new Event<ProgressEventArgs>() {
        public void invoke(Object sender, ProgressEventArgs progressEventArgs) {
            int percent = (int) ((100 * (long) progressEventArgs.getProceededBytes()) / ((RarArchiveEntry) sender).getUncompressedSize());
        }
    });
 

Event sender is an RarArchiveEntry instance.

Parameters:

ParameterTypeDescription
valuecom.aspose.zip.Event<com.aspose.zip.ProgressEventArgs>an event that is raised when a portion of raw stream extracted.