Class SnappyArchive
Namespace: Aspose.Zip.Snappy
Assembly: Aspose.Zip.dll (25.1.0)
此类表示 snappy 压缩文件。使用它来组合或提取 snappy 压缩文件。
public class SnappyArchive : IArchive, IDisposable, IArchiveFileEntry
继承
实现
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) 方法以进行解压缩。
异常
source
不是可寻址的。
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) 方法以进行解压缩。
异常
path
为 null。
调用者没有访问所需权限。
path
为空,仅包含空格,或包含无效字符。
对文件 path
的访问被拒绝。
指定的 path
、文件名或两者的长度超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。
path
中间包含冒号 (:)。
未找到文件。
指定的路径无效,例如位于未映射的驱动器上。
文件已打开。
方法
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);
}
}
}
异常
归档头和服务信息未被读取。
头或校验和中的数据错误。
目标流为 null。
目标流不支持写入。
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"));
}
}
异常
归档头和服务信息未被读取。
调用者没有打开 fileInfo
的所需权限。
文件路径为空或仅包含空格。
未找到文件。
文件路径为只读或为目录。
fileInfo
为 null。
指定的路径无效,例如位于未映射的驱动器上。
文件已打开。
Extract(string)
通过路径将 snappy 压缩文件提取到文件中。
public FileInfo Extract(string path)
参数
path
string
将存储解压缩数据的文件路径。
返回
包含提取数据的 System.IO.FileInfo 实例。
示例
using (FileStream snappyFile = File.Open(sourceFileName, FileMode.Open))
{
using (var archive = new SnappyArchive(snappyFile))
{
archive.Extract("extracted.bin");
}
}
异常
归档头和服务信息未被读取。
path
为 null。
调用者没有访问所需权限。
path
为空,仅包含空格,或包含无效字符。
对文件 path
的访问被拒绝。
指定的 path
、文件名或两者的长度超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。
path
中间包含冒号 (:)。
ExtractToDirectory(string)
将归档的内容提取到提供的目录中。
public void ExtractToDirectory(string destinationDirectory)
参数
destinationDirectory
string
提取文件的目录路径。
备注
如果目录不存在,将会被创建。
异常
destinationDirectory
为 null。
指定的路径、文件名或两者的长度超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。
调用者没有访问现有目录的所需权限。
如果目录不存在,路径包含的冒号字符 (:) 不是驱动器标签 (“C:") 的一部分。
destinationDirectory
是零长度字符串,仅包含空格,或包含一个或多个无效字符。您可以使用 System.IO.Path.GetInvalidPathChars 方法查询无效字符。
-或- 路径以冒号字符 (:) 为前缀或仅包含冒号字符。
指定路径的目录是一个文件。 -或- 网络名称未知。
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
必须是可寻址的。
异常
output
不支持寻址。
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"));
}
异常
调用者没有打开 destination
的所需权限。
文件路径为空或仅包含空格。
未找到文件。
文件路径为只读或为目录。
destination
为 null。
指定的路径无效,例如位于未映射的驱动器上。
文件已打开。
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");
}
异常
destinationFileName
为 null。
调用者没有访问所需权限。
destinationFileName
为空,仅包含空格,或包含无效字符。
对文件 destinationFileName
的访问被拒绝。
指定的 destinationFileName
、文件名或两者的长度超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。
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");
}
异常
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");
}
异常
调用者没有打开 fileInfo
的所需权限。
文件路径为空或仅包含空格。
未找到文件。
文件路径为只读或为目录。
fileInfo
为 null。
指定的路径无效,例如位于未映射的驱动器上。
文件已打开。
SetSource(string)
设置要在归档中压缩的内容。
public void SetSource(string sourcePath)
参数
sourcePath
string
将作为输入流打开的文件路径。
示例
using (var archive = new SnappyArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.snappy");
}
异常
sourcePath
为 null。
调用者没有访问所需权限。
sourcePath
为空,仅包含空格,或包含无效字符。
对文件 sourcePath
的访问被拒绝。
指定的 sourcePath
、文件名或两者的长度超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。
sourcePath
中间包含冒号 (:)。