ZipArchiveEntry.Open 方法

定义

打开 zip 存档中的项。

public:
 System::IO::Stream ^ Open();
public System.IO.Stream Open ();
member this.Open : unit -> System.IO.Stream
Public Function Open () As Stream

返回

表示项的内容的流。

例外

当前已打开用于写入的项。

- 或 -

该条目已从存档中删除。

- 或 -

已使用 Create 模式打开此项的存档,并且该项已写入到该存档中。

存档中缺少该条目,或者该条目已损坏且无法读取。

- 或 -

已经通过使用一种不受支持的压缩方法压缩该条目。

已释放此项的 zip 存档。

示例

以下示例演示如何创建新条目,使用 Open 方法打开它,以及如何写入流。

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
            {
                using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
                {
                    ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
                    using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
                    {
                            writer.WriteLine("Information about this package.");
                            writer.WriteLine("========================");
                    }
                }
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Using zipToOpen As FileStream = New FileStream("c:\users\exampleuser\release.zip", FileMode.Open)
            Using archive As ZipArchive = New ZipArchive(zipToOpen, ZipArchiveMode.Update)
                Dim readmeEntry As ZipArchiveEntry = archive.CreateEntry("Readme.txt")
                Using writer As StreamWriter = New StreamWriter(readmeEntry.Open())
                    writer.WriteLine("Information about this package.")
                    writer.WriteLine("========================")
                End Using
            End Using
        End Using
    End Sub

End Module

注解

使用此方法访问 zip 存档中某个条目的流。 检索流后,可以从流中读取或写入流。 写入流时,对条目所做的修改将显示在 zip 存档中。

适用于