Class CabEntry

Class CabEntry

Namespace: Aspose.Zip.Cab
Assembly: Aspose.Zip.dll (25.1.0)

表示 cab 存档中的单个文件。

public sealed class CabEntry : IArchiveFileEntry

继承

objectCabEntry

实现

IArchiveFileEntry

继承成员

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

属性

长度

获取条目的字节长度。

public uint Length { get; }

属性值

uint

名称

获取存档中条目的名称。

public string Name { get; }

属性值

string

方法

Extract(string)

根据提供的路径将条目提取到文件系统。

public FileInfo Extract(string path)

参数

path string

目标文件的路径。如果文件已存在,将被覆盖。

返回

FileInfo

组成文件的信息。

示例

using (var archive = new CabArchive("archive.cab"))
{
    archive.Entries[0].Extract("data.bin");
}

异常

ArgumentNullException

path 为 null。

SecurityException

调用方没有访问所需的权限。

ArgumentException

path 为空,仅包含空格或包含无效字符。

UnauthorizedAccessException

访问文件 path 被拒绝。

PathTooLongException

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

NotSupportedException

path 中间包含冒号 (:)。

FileNotFoundException

未找到文件。

DirectoryNotFoundException

指定的路径无效,例如位于未映射的驱动器上。

IOException

文件已被打开。

NotSupportedException

由于数据错误,流初始化失败。

InvalidDataException

存档已损坏。

Extract(Stream)

将条目提取到提供的流中。

public void Extract(Stream destination)

参数

destination Stream

目标流。必须可写。

示例

提取 cab 存档的条目。

using (var archive = new CabArchive("archive.cab"))
{
    archive.Entries[0].Extract(httpResponseStream);
}

异常

ArgumentException

destination 不支持写入。

NotSupportedException

由于数据错误,流初始化失败。

InvalidDataException

存档已损坏。

Open()

打开条目以进行提取,并提供包含条目内容的流。

public Stream Open()

返回

Stream

表示条目内容的流。

示例

用法: 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()

返回

string

 中文