XarFileEntry

Inheritance: java.lang.Object, com.aspose.zip.XarEntry

All Implemented Interfaces: com.aspose.zip.IArchiveFileEntry

public final class XarFileEntry extends XarEntry implements IArchiveFileEntry

Represents file entry within xar 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.
getCompressionProgressed()Gets an event that is raised when a portion of raw stream compressed.
getLength()Gets the length of the entry in bytes.
open()Opens the entry for extraction and provides a stream with entry content.
setCompressionProgressed(Event<ProgressEventArgs> value)Sets an event that is raised when a portion of raw stream compressed.

extract(OutputStream destination)

public final void extract(OutputStream destination)

Extracts the entry to the stream provided.

Extract an entry of wim archive.


     try (FileOutputStream output = new FileOutputStream("file")){
         try (XarArchive archive = new XarArchive("archive.xar")) {
             ((XarFileEntry)archive.getEntries().get(0)).extract(output);
         }
     } catch (IOException ex) {
     }
 

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 (XarArchive archive = new XarArchive("archive.xar")) {
         ((XarFileEntry)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 the extracted file

getCompressionProgressed()

public final Event<ProgressEventArgs> getCompressionProgressed()

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


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

Event sender is an XarFileEntry instance.

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

getLength()

public final Long getLength()

Gets the length of the entry in bytes.

Returns: java.lang.Long - the length of the entry in bytes

open()

public final InputStream open()

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

Usage:


     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

setCompressionProgressed(Event<ProgressEventArgs> value)

public final void setCompressionProgressed(Event<ProgressEventArgs> value)

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


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

Event sender is an XarFileEntry instance.

Parameters:

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