Class LzmaArchive
Namespace: Aspose.Zip.LZMA
Assembly: Aspose.Zip.dll (25.1.0)
此类表示 LZMA 存档文件。使用它来组合或提取 LZMA 存档。
public class LzmaArchive : 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()
构造函数
LzmaArchive(LzmaArchiveSettings)
初始化 Aspose.Zip.LZMA.LzmaArchive 类的新实例,并以 lzma 格式组合存档。
public LzmaArchive(LzmaArchiveSettings settings = null)
参数
settings
LzmaArchiveSettings
特定 lzma 存档的设置集。
LzmaArchive(Stream)
初始化 Aspose.Zip.LZMA.LzmaArchive 类的新实例,准备进行解压缩。
public LzmaArchive(Stream source)
参数
source
Stream
存档的源。
备注
此构造函数不进行解压缩。有关解压缩的信息,请参见 Aspose.Zip.LZMA.LzmaArchive.Extract(System.IO.Stream) 方法。
异常
source
不是可寻址的。
source
为 null。
LzmaArchive(string)
初始化 Aspose.Zip.LZMA.LzmaArchive 类的新实例,准备进行解压缩。
public LzmaArchive(string path)
参数
path
string
存档源的路径。
示例
using (FileStream extractedFile = File.Open(extractedFileName, FileMode.Create))
{
using (var archive = new LzmaArchive(sourceLzmaFile))
{
archive.Extract(extractedFile);
}
}
备注
此构造函数不进行解压缩。有关解压缩的信息,请参见 Aspose.Zip.LZMA.LzmaArchive.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)
将 lzma 存档提取到流中。
public void Extract(Stream destination)
参数
destination
Stream
用于存储解压缩数据的流。
示例
using (FileStream sourceLzmaFile = File.Open(sourceFileName, FileMode.Open))
{
using (FileStream extractedFile = File.Open(extractedFileName, FileMode.Create))
{
using (var archive = new LzmaArchive(sourceLzmaFile))
{
archive.Extract(extractedFile);
}
}
}
异常
存档头和服务信息未被读取。
存档已损坏。
目标流为 null。
目标流不支持写入。
Extract(FileInfo)
将 lzma 存档提取到文件中。
public void Extract(FileInfo fileInfo)
参数
fileInfo
FileInfo
用于存储解压缩数据的 FileInfo。
示例
using (FileStream lzmaFile = File.Open(sourceFileName, FileMode.Open))
{
using (var archive = new LzmaArchive(lzmaFile))
{
archive.Extract(new FileInfo("extracted.bin"));
}
}
异常
存档头和服务信息未被读取。
调用者没有打开 fileInfo
的所需权限。
文件路径为空或仅包含空格。
未找到文件。
文件路径为只读或是目录。
fileInfo
为 null。
指定的路径无效,例如在未映射的驱动器上。
文件已打开。
存档已损坏。
Extract(string)
通过路径将 lzma 存档提取到文件中。
public void Extract(string path)
参数
path
string
将存储解压缩数据的文件路径。
示例
using (FileStream lzmaFile = File.Open(sourceFileName, FileMode.Open))
{
using (var archive = new LzmaArchive(lzmaFile))
{
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)
将 lzma 存档保存到提供的流中。
public void Save(Stream output)
参数
output
Stream
目标流。
示例
using (FileStream lzmaFile = File.Open("archive.lzma", FileMode.Create))
{
using (var archive = new LzmaArchive())
{
archive.SetSource("data.bin");
archive.Save(lzmaFile);
}
}
备注
output
必须是可寻址的。
异常
output
不支持寻址。
output
为 null。
Save(FileInfo)
将 lzma 存档保存到提供的目标文件中。
public void Save(FileInfo destination)
参数
destination
FileInfo
将作为目标流打开的 FileInfo。
示例
using (var archive = new LzmaArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(new FileInfo("archive.lzma"));
}
异常
调用者没有打开 destination
的所需权限。
文件路径为空或仅包含空格。
未找到文件。
文件路径为只读或是目录。
destination
为 null。
指定的路径无效,例如在未映射的驱动器上。
文件已打开。
Save(string)
将 lzma 存档保存到提供的目标文件中。
public void Save(string destinationFileName)
参数
destinationFileName
string
要创建的存档的路径。如果指定的文件名指向现有文件,则将覆盖该文件。
示例
using (var archive = new LzmaArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("result.lzma");
}
异常
destinationFileName
为 null。
调用者没有访问所需权限。
destinationFileName
为空,仅包含空格,或包含无效字符。
访问文件 destinationFileName
被拒绝。
指定的 destinationFileName
、文件名或两者超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。
destinationFileName
中间包含冒号 (:)。
SetSource(Stream)
设置要在存档中压缩的内容。
public void SetSource(Stream source)
参数
source
Stream
存档的输入流。
示例
using (var archive = new LzmaArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.lzma");
}
异常
source
流不可寻址。
SetSource(FileInfo)
设置要在存档中压缩的内容。
public void SetSource(FileInfo fileInfo)
参数
fileInfo
FileInfo
将作为输入流打开的 FileInfo。
示例
using (var archive = new LzmaArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.lzma");
}
异常
调用者没有打开 fileInfo
的所需权限。
文件路径为空或仅包含空格。
未找到文件。
文件路径为只读或是目录。
fileInfo
为 null。
指定的路径无效,例如在未映射的驱动器上。
文件已打开。
SetSource(string)
设置要在存档中压缩的内容。
public void SetSource(string sourcePath)
参数
sourcePath
string
将作为输入流打开的文件路径。
示例
using (var archive = new LzmaArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.lzma");
}
异常
sourcePath
为 null。
调用者没有访问所需权限。
sourcePath
为空,仅包含空格,或包含无效字符。
访问文件 sourcePath
被拒绝。
指定的 sourcePath
、文件名或两者超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。
sourcePath
中间包含冒号 (:)。