Class SnappyArchive
Namespace: Aspose.Zip.Snappy
Assembly: Aspose.Zip.dll (25.2.0)
This class represents snappy archive file. Use it to compose or extract snappy archives.
public class SnappyArchive : 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
SnappyArchive()
Initializes a new instance of the Aspose.Zip.Snappy.SnappyArchive class prepared for compressing.
public SnappyArchive()
Examples
The following example shows how to compress a file.
using (SnappyArchive archive = new SnappyArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.snapy");
}
SnappyArchive(Stream)
Initializes a new instance of the Aspose.Zip.Snappy.SnappyArchive class prepared for decompressing.
public SnappyArchive(Stream source)
Parameters
source
Stream
The source of the archive.
Remarks
This constructor does not decompress. See Aspose.Zip.Snappy.SnappyArchive.Extract(System.IO.Stream) method for decompressing.
Exceptions
source
is not seekable.
source
is null.
SnappyArchive(string)
Initializes a new instance of the Aspose.Zip.Snappy.SnappyArchive class prepared for decompressing.
public SnappyArchive(string path)
Parameters
path
string
Path to the source of the archive.
Examples
using (FileStream extractedFile = File.Open(extractedFileName, FileMode.Create))
{
using (var archive = new SnappyArchive(sourceSnappyFile))
{
archive.Extract(extractedFile);
}
}
Remarks
This constructor does not decompress. See Aspose.Zip.Snappy.SnappyArchive.Extract(System.IO.Stream) 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 not found.
The specified path is invalid, such as being on an unmapped drive.
The file is already open.
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(Stream)
Extracts snappy archive to a stream.
public void Extract(Stream destination)
Parameters
destination
Stream
Stream for storing decompressed data.
Examples
using (FileStream sourceSnappyFile = File.Open(sourceFileName, FileMode.Open))
{
using (FileStream extractedFile = File.Open(extractedFileName, FileMode.Create))
{
using (var archive = new SnappyArchive(sourceSnappyFile))
{
archive.Extract(extractedFile);
}
}
}
Exceptions
Archive headers and service information were not read.
Error in data in header or checksum.
Destination stream is null.
Destination stream does not support writing.
Extract(FileInfo)
Extracts snappy archive to a file.
public void Extract(FileInfo fileInfo)
Parameters
fileInfo
FileInfo
FileInfo for storing decompressed data.
Examples
using (FileStream snappyFile = File.Open(sourceFileName, FileMode.Open))
{
using (var archive = new SnappyArchive(snappyFile))
{
archive.Extract(new FileInfo("extracted.bin"));
}
}
Exceptions
Archive headers and service information were not read.
The caller does not have the required permission to open the fileInfo
.
File path is empty or contains only white spaces.
The file is not found.
Path to file is read-only or is a directory.
fileInfo
is null.
The specified path is invalid, such as being on an unmapped drive.
The file is already open.
Extract(string)
Extracts snappy archive to a file by path.
public FileInfo Extract(string path)
Parameters
path
string
Path to file which will store decompressed data.
Returns
System.IO.FileInfo instance containing extracted data.
Examples
using (FileStream snappyFile = File.Open(sourceFileName, FileMode.Open))
{
using (var archive = new SnappyArchive(snappyFile))
{
archive.Extract("extracted.bin");
}
}
Exceptions
Archive headers and service information were not read.
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.
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 existing directory.
If directory does not exist, 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.
Save(Stream)
Saves snappy archive to the stream provided.
public void Save(Stream output)
Parameters
output
Stream
Destination stream.
Examples
using (FileStream snappyFile = File.Open("archive.snappy", FileMode.Create))
{
using (var archive = new SnappyArchive())
{
archive.SetSource("data.bin");
archive.Save(snappyFile);
}
}
Remarks
output
must be seekable.
Exceptions
output
does not support seeking.
output
is null.
Save(FileInfo)
Saves snappy archive to destination file provided.
public void Save(FileInfo destination)
Parameters
destination
FileInfo
FileInfo which will be opened as destination stream.
Examples
using (var archive = new SnappyArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(new FileInfo("archive.snappy"));
}
Exceptions
The caller does not have the required permission to open the destination
.
File path is empty or contains only white spaces.
The file is not found.
Path to file is read-only or is a directory.
destination
is null.
The specified path is invalid, such as being on an unmapped drive.
The file is already open.
Save(string)
Saves snappy archive to destination file provided.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
The path of the archive to be created. If the specified file name points to an existing file, it will be overwritten.
Examples
using (var archive = new SnappyArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("result.snappy");
}
Exceptions
destinationFileName
is null.
The caller does not have the required permission to access.
The destinationFileName
is empty, contains only white spaces, or contains invalid characters.
Access to file destinationFileName
is denied.
The specified destinationFileName
, 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 destinationFileName
contains a colon (:) in the middle of the string.
SetSource(Stream)
Sets the content to be compressed within the archive.
public void SetSource(Stream source)
Parameters
source
Stream
The input stream for the archive.
Examples
using (var archive = new SnappyArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.snappy");
}
Exceptions
The source
stream is unseekable.
SetSource(FileInfo)
Sets the content to be compressed within the archive.
public void SetSource(FileInfo fileInfo)
Parameters
fileInfo
FileInfo
FileInfo which will be opened as input stream.
Examples
using (var archive = new SnappyArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.snappy");
}
Exceptions
The caller does not have the required permission to open the fileInfo
.
File path is empty or contains only white spaces.
The file is not found.
Path to file is read-only or is a directory.
fileInfo
is null.
The specified path is invalid, such as being on an unmapped drive.
The file is already open.
SetSource(string)
Sets the content to be compressed within the archive.
public void SetSource(string sourcePath)
Parameters
sourcePath
string
Path to file which will be opened as input stream.
Examples
using (var archive = new SnappyArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.snappy");
}
Exceptions
sourcePath
is null.
The caller does not have the required permission to access.
The sourcePath
is empty, contains only white spaces, or contains invalid characters.
Access to file sourcePath
is denied.
The specified sourcePath
, 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 sourcePath
contains a colon (:) in the middle of the string.