Class RarArchive
名称: Aspose.Zip.Rar 收藏: Aspose.Zip.dll (25.5.0)
此类代表 RAR 档案文件. 使用它来提取 RAR 档案。
public class RarArchive : IArchive, IDisposable
Inheritance
Implements
继承人
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
RarArchive(字符串, RarArchiveLoadOptions)
启动 Aspose.Zip.Rar.RarArchive 类的新例子,并组成可以从档案中提取的输入列表。
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
Parameters
path
string
完全合格的或相对的路径到档案文件。
loadOptions
RarArchiveLoadOptions
可以使用现有存档的选项。
Examples
下面的例子提取一个档案,然后将第一个输入压缩到一个。
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive("data.rar"))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Remarks
此构建器不会压缩任何输入. 查看 Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) 压缩方法。
Exceptions
path’ is null.
召唤者没有所需的访问许可。
path’ 是空的,只包含白色空间,或包含无效的字符。
拒绝访问 path" 文件。
指定的 path’, 文件名, 或两者都超过系统定义的最大长度. 例如,在基于 Windows 的平台上,路径必须小于 248 个字符, 文件名必须小于 260 个字符。
文件在 path’ 中间包含一个列(:)。
文件未找到。
指定的路径是无效的,例如在无地图驱动器上。
文件已经开放了。
RarArchive(流量, RarArchiveLoadOptions)
启动 Aspose.Zip.Rar.RarArchive 类的新例子,并组成可以从档案中提取的输入列表。
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
Parameters
sourceStream
Stream
档案的来源。
loadOptions
RarArchiveLoadOptions
可以使用现有存档的选项。
Examples
下面的例子是解压和解压第一输入到A。
var fs = File.OpenRead("encrypted.rar");
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive(fs, new RarArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Remarks
此构建器不会压缩任何输入. 查看 Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) 压缩方法。
Exceptions
sourceStream’ is not seekable.
错误签名档案 - 或 - 文件不是一个 RAR 档案。
Properties
Entries
收到 Aspose.Zip.Rar.RarArchiveEntry 类型的输入,构成罕见的档案。
public ReadOnlyCollection<rararchiveentry> Entries { get; }
财产价值
ReadOnlyCollection < RarArchiveEntry >
Methods
Dispose(博尔)
执行与释放、释放或重新管理未管理资源相关的应用定义任务。
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
管理的资源是否要消耗?
Dispose()
执行与释放、释放或重新管理未管理资源相关的应用定义任务。
public void Dispose()
ExtractToDirectory(字符串, string)
将存档中的所有文件提取到所提供的目录中。
[Obsolete("For extraction encrypted RAR archive please provide password in constructor with Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
路径到目录将提取的文件插入。
password
string
可选的密码来解密。
Examples
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted", "$ecRet");
}
Remarks
如果目录不存在,它将被创建。
Exceptions
destinationDirectory’ is null.
例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
呼叫者没有必要的许可访问现有目录。
如果目录不存在,路径包含一个列符(:)不属于驱动标签(“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 (:).
路径指定的目录是一个文件. -or- 网络名称不明。
ExtractToDirectory(线条)
将存档中的所有文件提取到所提供的目录中。
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
路径到目录将提取的文件插入。
Examples
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
如果目录不存在,它将被创建。
Exceptions
destinationDirectory’ is null.
例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
呼叫者没有必要的许可访问现有目录。
如果目录不存在,路径包含一个列符(:)不属于驱动标签(“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 (:).
路径指定的目录是一个文件. -or- 网络名称不明。