Class ArchiveLoadOptions

Class ArchiveLoadOptions

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

选项用于从压缩文件加载归档。

public class ArchiveLoadOptions

继承

objectArchiveLoadOptions

继承成员

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

构造函数

ArchiveLoadOptions()

public ArchiveLoadOptions()

属性

DecryptionPassword

获取或设置用于解密条目的密码。

public string DecryptionPassword { get; set; }

属性值

string

示例

您可以在归档提取时提供解密密码。

using (FileStream fs = File.OpenRead("encrypted_archive.zip"))
{
    using (var extracted = File.Create("extracted.bin"))
    {
        using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
        {
            using (var decompressed = archive.Entries[0].Open())
            {
                byte[] b = new byte[8192];
                int bytesRead;
                while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
                    extracted.Write(b, 0, bytesRead);

            }
        }
    }
}

另请参见

ArchiveEntry.Open(string)

Encoding

获取或设置条目名称的编码。

public Encoding Encoding { get; set; }

属性值

Encoding

示例

使用指定编码组成的条目名称,不受zip文件属性的影响。

using (FileStream fs = File.OpenRead("archive.zip"))
{      
    using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { Encoding = System.Text.Encoding.GetEncoding(932) }))
    {
        string name = archive.Entries[0].Name;
    }    
}

EntryExtractionProgressed

获取或设置在提取某些字节时调用的委托。

public EventHandler<progresseventargs> EntryExtractionProgressed { get; set; }

属性值

EventHandler<ProgressEventArgs&gt;

示例

Archive archive = new Archive("archive.zip", 
new ArchiveLoadOptions() { EntryExtractionProgressed = (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); } })

备注

事件发送者是Aspose.Zip.ArchiveEntry实例,其提取进度。

EntryListed

获取或设置在内容表中列出条目时调用的委托。

public EventHandler<entryeventargs> EntryListed { get; set; }

属性值

EventHandler<EntryEventArgs&gt;

示例

Archive archive = new Archive("archive.zip", new ArchiveLoadOptions() { EntryListed = (s, e) =&gt; { Console.WriteLine(e.Entry.Name); } });

 中文