Class Lz4Archive
Namespace: Aspose.Zip.Lz4
Assembly: Aspose.Zip.dll (25.3.0)
This class represents LZ4 archive file. Use it to extract LZ4 archives.
public class Lz4Archive : IArchive, IDisposable, IArchiveFileEntry
Inheritance
Implements
IArchive, IDisposable, IArchiveFileEntry
Inherited Members
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Constructors
Lz4Archive(Stream)
Initializes a new instance of the Aspose.Zip.Lz4.Lz4Archive class prepared for decompressing.
public Lz4Archive(Stream sourceStream)
Parameters
sourceStream
Stream
The source of the archive.
Examples
Open an archive from a stream and extract it to a MemoryStream
var ms = new MemoryStream();
using (Lz4Archive archive = new Lz4Archive(File.OpenRead("archive.lz4")))
archive.Open().CopyTo(ms);
Remarks
This constructor does not decompress. See Aspose.Zip.Lz4.Lz4Archive.Open method for decompressing.
Exceptions
Cannot read from sourceStream
sourceStream
is null.
sourceStream
is too short.
The sourceStream
has wrong signature.
Lz4Archive(string)
Initializes a new instance of the Aspose.Zip.Lz4.Lz4Archive class.
public Lz4Archive(string path)
Parameters
path
string
The path to the archive file.
Examples
Open an archive from file by path and extract it to a MemoryStream
var ms = new MemoryStream();
using (Lz4Archive archive = new Lz4Archive("archive.lz4"))
archive.Open().CopyTo(ms);
Remarks
This constructor does not decompress. See Aspose.Zip.Lz4.Lz4Archive.Open method for decompressing.
Exceptions
path
is null.
The caller does not have the required permission to access
The path
is empty, contains only white spaces, or contains invalid characters.
Access to file path
is denied.
The specified path
, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.
File at path
contains a colon (:) in the middle of the string.
The file is too short.
Data in the file has the wrong signature.
Methods
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
Dispose(bool)
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Whether managed resources should be disposed.
Extract(string)
Extracts the archive to the file by path.
public FileInfo Extract(string path)
Parameters
path
string
The path to destination file. If the file already exists, it will be overwritten.
Returns
Info of an extracted file.
Exceptions
Source stream is too short.
Wrong bytes found while decoding.
This LZ4 version is not supported.
Extract(Stream)
Extracts the archive to the stream provided.
public void Extract(Stream destination)
Parameters
destination
Stream
Destination stream. Must be writable.
Examples
using (var archive = new Lz4Archive("archive.lz4"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination
does not support writing.
Source stream is too short.
Wrong bytes found while decoding.
This LZ4 version is not supported.
ExtractToDirectory(string)
Extracts content of the archive to the directory provided.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
The path to the directory to place the extracted files in.
Remarks
If the directory does not exist, it will be created.
Exceptions
destinationDirectory
is null.
The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters.
The caller does not have the required permission to access the existing directory.
If the directory does not exist, the path contains a colon character (:) that is not part of a drive label (“C:").
destinationDirectory
is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method.
-or- path is prefixed with, or contains, only a colon character (:).
The directory specified by path is a file. -or- The network name is not known.
Source stream is too short.
Wrong bytes found while initialize decoding.
Open()
Opens the archive for extraction and provides a stream with archive content.
public Stream Open()
Returns
The stream that represents the contents of the archive.
Examples
Extracts the archive and copies extracted content to file stream.
using (var archive = new Lz4Archive("archive.lz4"))
{
using (var extracted = File.Create("data.bin"))
{
var unpacked = archive.Open();
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
You may use Stream.CopyTo method for .NET 4.0 and higher: `unpacked.CopyTo(extracted);`
Remarks
Read from the stream to get the original content of a file. See examples section.
Exceptions
Source stream is too short.
Wrong bytes found while initialize decoding.