Skip to main content

ZipArchive.Read(String, Encoding) Method

Static method that creates a ZipArchive instance from the specified archive file.

Namespace: DevExpress.Compression

Assembly: DevExpress.Docs.v24.1.dll

NuGet Package: DevExpress.Document.Processor

Declaration

public static ZipArchive Read(
    string fileName,
    Encoding encoding
)

Parameters

Name Type Description
fileName String

A string that is the path to the archive file.

encoding Encoding

The Encoding object that specifies character encoding for the zip item names.

Returns

Type Description
ZipArchive

A ZipArchive instance that is the zip archive for modification or extraction.

Remarks

Use the Read method to open the archive for modification or extraction. To save the archive, use the corresponding ZipArchive.Save method override.

The Read method allows you to specify character encoding to correctly read item names.

Example

When the file archive is opened with the ZipArchive.Read method, you cannot save it to the same file. The ZipArchive.Save method attempts to overwrite the locked file resulting in an exception.

This code snippet illustrates how you can add a file to an archive and save it with the same name as before.

View Example

public void AddFileToArchive() {
    MemoryStream stream = new MemoryStream();
    string[] sourcefiles = this.sourceFiles;
    string pathToZipArchive = "Documents\\Example.zip";

    using (FileStream fs = File.Open(pathToZipArchive, FileMode.Open)) {
        fs.CopyTo(stream);
        fs.Close();
    }
    stream.Seek(0, SeekOrigin.Begin);
    using (ZipArchive archive = ZipArchive.Read(stream, System.Text.Encoding.Default, false)) {
        foreach (string sfile in sourcefiles) {
            archive.AddFile(sfile, "/");
        }
        archive.Save(pathToZipArchive);
    }
}
See Also