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:**
| Parameter | Type | Description |
| --- | --- | --- |
| destination | java.io.OutputStream | destination stream. Must be writable |

### extract(String path) {#extract-java.lang.String-}

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:**
| Parameter | Type | Description |
| --- | --- | --- |
| path | java.lang.String | the 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() {#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](../../com.aspose.zip/xarfileentry) instance.

**Returns:**
[Event](../../com.aspose.zip/event) - an event that is raised when a portion of raw stream compressed
### getLength() {#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() {#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 the original content of the file. See examples section.

**Returns:**
java.io.InputStream - the stream that represents the contents of the entry
### setCompressionProgressed(Event&lt;ProgressEventArgs&gt; value) {#setCompressionProgressed-com.aspose.zip.Event-com.aspose.zip.ProgressEventArgs--}
```
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](../../com.aspose.zip/xarfileentry) instance.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | com.aspose.zip.Event&lt;com.aspose.zip.ProgressEventArgs&gt; | an event that is raised when a portion of raw stream compressed |