Class CabEntry
Namespace: Aspose.Zip.Cab
Assembly: Aspose.Zip.dll (25.1.0)
表示 cab 存档中的单个文件。
public sealed class CabEntry : IArchiveFileEntry
继承
实现
继承成员
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
属性
长度
获取条目的字节长度。
public uint Length { get; }
属性值
名称
获取存档中条目的名称。
public string Name { get; }
属性值
方法
Extract(string)
根据提供的路径将条目提取到文件系统。
public FileInfo Extract(string path)
参数
path
string
目标文件的路径。如果文件已存在,将被覆盖。
返回
组成文件的信息。
示例
using (var archive = new CabArchive("archive.cab"))
{
archive.Entries[0].Extract("data.bin");
}
异常
path
为 null。
调用方没有访问所需的权限。
path
为空,仅包含空格或包含无效字符。
访问文件 path
被拒绝。
指定的 path
、文件名或两者超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。
path
中间包含冒号 (:)。
未找到文件。
指定的路径无效,例如位于未映射的驱动器上。
文件已被打开。
由于数据错误,流初始化失败。
存档已损坏。
Extract(Stream)
将条目提取到提供的流中。
public void Extract(Stream destination)
参数
destination
Stream
目标流。必须可写。
示例
提取 cab 存档的条目。
using (var archive = new CabArchive("archive.cab"))
{
archive.Entries[0].Extract(httpResponseStream);
}
异常
destination
不支持写入。
由于数据错误,流初始化失败。
存档已损坏。
Open()
打开条目以进行提取,并提供包含条目内容的流。
public Stream Open()
返回
表示条目内容的流。
示例
用法:
Stream decompressed = entry.Open();
.NET 4.0 及更高版本 - 使用 Stream.CopyTo 方法:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 及之前版本 - 手动复制字节:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### 备注
从流中读取以获取文件的原始内容。请参阅示例部分。
#### 异常
[NotSupportedException](https://learn.microsoft.com/dotnet/api/system.notsupportedexception)
由于数据错误,流初始化失败。
[InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)
存档已损坏。
### <a id="Aspose_Zip_Cab_CabEntry_ToString"></a> ToString\(\)
```csharp
public override string ToString()