Rediger

Del via


ZipArchiveEntry.Open Method

Definition

Opens the entry from the zip archive.

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

Returns

The stream that represents the contents of the entry.

Exceptions

The entry is already currently open for writing.

-or-

The entry has been deleted from the archive.

-or-

The archive for this entry was opened with the Create mode, and this entry has already been written to.

The entry is either missing from the archive or is corrupt and cannot be read.

-or-

The entry has been compressed by using a compression method that is not supported.

The zip archive for this entry has been disposed.

Examples

The following example shows how to create a new entry, open it with the Open method, and write to the stream.

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

Remarks

You use this method to access the stream for an entry in a zip archive. After retrieving the stream, you can read from or write to the stream. When you write to the stream, the modifications you make to the entry will appear in the zip archive.

Applies to