Class SnappyArchive

Class SnappyArchive

Namespace: Aspose.Zip.Snappy
Assembly: Aspose.Zip.dll (25.1.0)

此类表示 snappy 压缩文件。使用它来组合或提取 snappy 压缩文件。

public class SnappyArchive : IArchive, IDisposable, IArchiveFileEntry

继承

objectSnappyArchive

实现

IArchive, IDisposable, IArchiveFileEntry

继承成员

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

构造函数

SnappyArchive()

初始化一个新的 Aspose.Zip.Snappy.SnappyArchive 类的实例,准备进行压缩。

public SnappyArchive()

示例

以下示例演示如何压缩一个文件。

using (SnappyArchive archive = new SnappyArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.snapy");
}

SnappyArchive(Stream)

初始化一个新的 Aspose.Zip.Snappy.SnappyArchive 类的实例,准备进行解压缩。

public SnappyArchive(Stream source)

参数

source Stream

归档的源。

备注

此构造函数不执行解压缩。请参见 Aspose.Zip.Snappy.SnappyArchive.Extract(System.IO.Stream) 方法以进行解压缩。

异常

ArgumentException

source 不是可寻址的。

ArgumentNullException

source 为 null。

SnappyArchive(string)

初始化一个新的 Aspose.Zip.Snappy.SnappyArchive 类的实例,准备进行解压缩。

public SnappyArchive(string path)

参数

path string

归档源的路径。

示例

using (FileStream extractedFile = File.Open(extractedFileName, FileMode.Create))
{
    using (var archive = new SnappyArchive(sourceSnappyFile))
    {
         archive.Extract(extractedFile);
    }
   }

备注

此构造函数不执行解压缩。请参见 Aspose.Zip.Snappy.SnappyArchive.Extract(System.IO.Stream) 方法以进行解压缩。

异常

ArgumentNullException

path 为 null。

SecurityException

调用者没有访问所需权限。

ArgumentException

path 为空,仅包含空格,或包含无效字符。

UnauthorizedAccessException

对文件 path 的访问被拒绝。

PathTooLongException

指定的 path、文件名或两者的长度超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。

NotSupportedException

path 中间包含冒号 (:)。

FileNotFoundException

未找到文件。

DirectoryNotFoundException

指定的路径无效,例如位于未映射的驱动器上。

IOException

文件已打开。

方法

Dispose()

执行与释放、释放或重置非托管资源相关的应用程序定义的任务。

public void Dispose()

Dispose(bool)

执行与释放、释放或重置非托管资源相关的应用程序定义的任务。

protected virtual void Dispose(bool disposing)

参数

disposing bool

是否应释放托管资源。

Extract(Stream)

将 snappy 压缩文件提取到流中。

public void Extract(Stream destination)

参数

destination Stream

用于存储解压缩数据的流。

示例

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);
       }
   }
}

异常

InvalidOperationException

归档头和服务信息未被读取。

InvalidDataException

头或校验和中的数据错误。

ArgumentNullException

目标流为 null。

ArgumentException

目标流不支持写入。

Extract(FileInfo)

将 snappy 压缩文件提取到文件中。

public void Extract(FileInfo fileInfo)

参数

fileInfo FileInfo

用于存储解压缩数据的 FileInfo。

示例

using (FileStream snappyFile = File.Open(sourceFileName, FileMode.Open))
{
    using (var archive = new SnappyArchive(snappyFile))
    {
        archive.Extract(new FileInfo("extracted.bin"));
    }
}

异常

InvalidOperationException

归档头和服务信息未被读取。

SecurityException

调用者没有打开 fileInfo 的所需权限。

ArgumentException

文件路径为空或仅包含空格。

FileNotFoundException

未找到文件。

UnauthorizedAccessException

文件路径为只读或为目录。

ArgumentNullException

fileInfo 为 null。

DirectoryNotFoundException

指定的路径无效,例如位于未映射的驱动器上。

IOException

文件已打开。

Extract(string)

通过路径将 snappy 压缩文件提取到文件中。

public FileInfo Extract(string path)

参数

path string

将存储解压缩数据的文件路径。

返回

FileInfo

包含提取数据的 System.IO.FileInfo 实例。

示例

using (FileStream snappyFile = File.Open(sourceFileName, FileMode.Open))
{
    using (var archive = new SnappyArchive(snappyFile))
    {
        archive.Extract("extracted.bin");
    }
}

异常

InvalidOperationException

归档头和服务信息未被读取。

ArgumentNullException

path 为 null。

SecurityException

调用者没有访问所需权限。

ArgumentException

path 为空,仅包含空格,或包含无效字符。

UnauthorizedAccessException

对文件 path 的访问被拒绝。

PathTooLongException

指定的 path、文件名或两者的长度超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。

NotSupportedException

path 中间包含冒号 (:)。

ExtractToDirectory(string)

将归档的内容提取到提供的目录中。

public void ExtractToDirectory(string destinationDirectory)

参数

destinationDirectory string

提取文件的目录路径。

备注

如果目录不存在,将会被创建。

异常

ArgumentNullException

destinationDirectory 为 null。

PathTooLongException

指定的路径、文件名或两者的长度超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。

SecurityException

调用者没有访问现有目录的所需权限。

NotSupportedException

如果目录不存在,路径包含的冒号字符 (:) 不是驱动器标签 (“C:") 的一部分。

ArgumentException

destinationDirectory 是零长度字符串,仅包含空格,或包含一个或多个无效字符。您可以使用 System.IO.Path.GetInvalidPathChars 方法查询无效字符。 -或- 路径以冒号字符 (:) 为前缀或仅包含冒号字符。

IOException

指定路径的目录是一个文件。 -或- 网络名称未知。

Save(Stream)

将 snappy 压缩文件保存到提供的流中。

public void Save(Stream output)

参数

output Stream

目标流。

示例

using (FileStream snappyFile = File.Open("archive.snappy", FileMode.Create))
{
    using (var archive = new SnappyArchive())
    {
        archive.SetSource("data.bin");
        archive.Save(snappyFile);
     }
}

备注

output 必须是可寻址的。

异常

ArgumentException

output 不支持寻址。

ArgumentNullException

output 为 null。

Save(FileInfo)

将 snappy 压缩文件保存到提供的目标文件中。

public void Save(FileInfo destination)

参数

destination FileInfo

将作为目标流打开的 FileInfo。

示例

using (var archive = new SnappyArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save(new FileInfo("archive.snappy"));
}

异常

SecurityException

调用者没有打开 destination 的所需权限。

ArgumentException

文件路径为空或仅包含空格。

FileNotFoundException

未找到文件。

UnauthorizedAccessException

文件路径为只读或为目录。

ArgumentNullException

destination 为 null。

DirectoryNotFoundException

指定的路径无效,例如位于未映射的驱动器上。

IOException

文件已打开。

Save(string)

将 snappy 压缩文件保存到提供的目标文件中。

public void Save(string destinationFileName)

参数

destinationFileName string

要创建的归档的路径。如果指定的文件名指向现有文件,将被覆盖。

示例

using (var archive = new SnappyArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("result.snappy");
}

异常

ArgumentNullException

destinationFileName 为 null。

SecurityException

调用者没有访问所需权限。

ArgumentException

destinationFileName 为空,仅包含空格,或包含无效字符。

UnauthorizedAccessException

对文件 destinationFileName 的访问被拒绝。

PathTooLongException

指定的 destinationFileName、文件名或两者的长度超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。

NotSupportedException

destinationFileName 中间包含冒号 (:)。

SetSource(Stream)

设置要在归档中压缩的内容。

public void SetSource(Stream source)

参数

source Stream

归档的输入流。

示例

using (var archive = new SnappyArchive())
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
    archive.Save("archive.snappy");
}

异常

ArgumentException

source 流不可寻址。

SetSource(FileInfo)

设置要在归档中压缩的内容。

public void SetSource(FileInfo fileInfo)

参数

fileInfo FileInfo

将作为输入流打开的 FileInfo。

示例

using (var archive = new SnappyArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.snappy");
}

异常

SecurityException

调用者没有打开 fileInfo 的所需权限。

ArgumentException

文件路径为空或仅包含空格。

FileNotFoundException

未找到文件。

UnauthorizedAccessException

文件路径为只读或为目录。

ArgumentNullException

fileInfo 为 null。

DirectoryNotFoundException

指定的路径无效,例如位于未映射的驱动器上。

IOException

文件已打开。

SetSource(string)

设置要在归档中压缩的内容。

public void SetSource(string sourcePath)

参数

sourcePath string

将作为输入流打开的文件路径。

示例

using (var archive = new SnappyArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.snappy");
}

异常

ArgumentNullException

sourcePath 为 null。

SecurityException

调用者没有访问所需权限。

ArgumentException

sourcePath 为空,仅包含空格,或包含无效字符。

UnauthorizedAccessException

对文件 sourcePath 的访问被拒绝。

PathTooLongException

指定的 sourcePath、文件名或两者的长度超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。

NotSupportedException

sourcePath 中间包含冒号 (:)。

 中文