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
Method | Description |
---|---|
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)
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()
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:
Parameter | Type | Description |
---|---|---|
value | com.aspose.zip.Event<com.aspose.zip.ProgressEventArgs> | an event that is raised when a portion of raw stream compressed |