RarArchive.RarArchive
内容
[
隐藏
]RarArchive(string, RarArchiveLoadOptions)
初始化一个新的实例RarArchive
可以从存档中提取类和组合条目列表。
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
范围 | 类型 | 描述 |
---|---|---|
path | String | 存档文件的完全限定路径或相对路径。 |
loadOptions | RarArchiveLoadOptions | 加载现有存档的选项。 |
例外
例外 | (健康)状况 |
---|---|
ArgumentNullException | path一片空白。 |
SecurityException | 调用者没有所需的访问权限。 |
ArgumentException | 这path为空、仅包含空格或包含无效字符。 |
UnauthorizedAccessException | 访问文件path被拒绝。 |
PathTooLongException | 指定的path、文件名或两者都超过了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。 |
NotSupportedException | 归档于path在字符串中间包含一个冒号 (:)。 |
评论
此构造函数不解压缩任何条目。看Open
解压方法.
例子
以下示例提取存档,然后将第一个条目解压缩到内存流
.
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);
}
}
也可以看看
- class RarArchiveLoadOptions
- class RarArchive
- 命名空间 Aspose.Zip.Rar
- 部件 Aspose.Zip
RarArchive(Stream, RarArchiveLoadOptions)
初始化一个新的实例RarArchive
可以从存档中提取类和组合条目列表。
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
范围 | 类型 | 描述 |
---|---|---|
sourceStream | Stream | 存档的来源。 |
loadOptions | RarArchiveLoadOptions | 加载现有存档的选项。 |
例外
例外 | (健康)状况 |
---|---|
ArgumentException | sourceStream不可搜索。 |
InvalidDataException | 存档签名错误。 - 或 - 该文件不是 RAR 压缩文件。 |
InvalidOperationException |
评论
此构造函数不解压缩任何条目。看Open
解压方法.
例子
以下示例解密并解压缩第一个条目内存流
.
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);
}
}
也可以看看
- class RarArchiveLoadOptions
- class RarArchive
- 命名空间 Aspose.Zip.Rar
- 部件 Aspose.Zip