Class RarArchive

Class RarArchive

名称: Aspose.Zip.Rar 收藏: Aspose.Zip.dll (25.5.0)

此类代表 RAR 档案文件. 使用它来提取 RAR 档案。

public class RarArchive : IArchive, IDisposable

Inheritance

object RarArchive

Implements

IArchive , IDisposable

继承人

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

ArgumentNullException

path’ is null.

SecurityException

召唤者没有所需的访问许可。

ArgumentException

path’ 是空的,只包含白色空间,或包含无效的字符。

UnauthorizedAccessException

拒绝访问 path" 文件。

PathTooLongException

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

NotSupportedException

文件在 path’ 中间包含一个列(:)。

FileNotFoundException

文件未找到。

DirectoryNotFoundException

指定的路径是无效的,例如在无地图驱动器上。

IOException

文件已经开放了。

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

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

错误签名档案 - 或 - 文件不是一个 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

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。

SecurityException

呼叫者没有必要的许可访问现有目录。

NotSupportedException

如果目录不存在,路径包含一个列符(:)不属于驱动标签(“C:”)的一部分。

ArgumentException

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 (:).

IOException

路径指定的目录是一个文件. -or- 网络名称不明。

ExtractToDirectory(线条)

将存档中的所有文件提取到所提供的目录中。

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

路径到目录将提取的文件插入。

Examples

using (var archive = new RarArchive("archive.rar")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

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

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。

SecurityException

呼叫者没有必要的许可访问现有目录。

NotSupportedException

如果目录不存在,路径包含一个列符(:)不属于驱动标签(“C:”)的一部分。

ArgumentException

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 (:).

IOException

路径指定的目录是一个文件. -or- 网络名称不明。

 中文