Class ArchiveEntry

Class ArchiveEntry

Numele spaţiului: Aspose.Zip Asamblare: Aspose.Zip.dll (25.5.0)

Reprezintă un singur fișier în arhivă.

public abstract class ArchiveEntry : IArchiveFileEntry

Inheritance

object ArchiveEntry

Derived

ArchiveEntryEncrypted , ArchiveEntryPlain

Implements

IArchiveFileEntry

Membrii moștenitori

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

Remarks

Încărcați un Aspose.Zip.ArchiveEntry la Aspose.Zip.ArchiveEntryCryptat pentru a determina dacă intrarea este criptată sau nu.

Constructors

ArchiveEntry(String, CompresieSettings, Funcîn UINT)

Inițializează o nouă instanță a clasei Aspose.Zip.ArchiveEntry.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, uint fileAttributes)

Parameters

name string

Numele de intrare.

compressionSettings CompressionSettings

Setări pentru compresie sau decompresie.

sourceProvider Func < Stream >

Metoda de returnare a fluxului cu datele de intrare fie pentru a fi comprimate.

fileAttributes uint

atributele sistemului de fișiere.

ArchiveEntry(string, CompressionSettings, Stream, uint, FileSystemInfo)

Inițializează o nouă instanță a clasei Aspose.Zip.ArchiveEntry.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, uint fileAttributes, FileSystemInfo fileInfo = null)

Parameters

name string

Numele de intrare.

compressionSettings CompressionSettings

Setări pentru compresie sau decompresie.

source Stream

Stream cu date de intrare fie pentru a fi compresate sau pentru a fi decompresate.

fileAttributes uint

atributele sistemului de fișiere.

fileInfo FileSystemInfo

Fișierul sau directorul informați intrarea bazată pe.

Properties

Comment

Obțineți un comentariu de intrare în arhivă.

public string Comment { get; protected set; }

Valoarea proprietății

string

CompressedSize

Obține dimensiunea fișierului comprimat.

public ulong CompressedSize { get; }

Valoarea proprietății

ulong

CompressionSettings

Obține setări pentru compresie sau decompresie.

public CompressionSettings CompressionSettings { get; }

Valoarea proprietății

CompressionSettings

DataSource

Sursă pentru intrare dacă intrarea a fost adăugată în arhivă, nu extrăzută.

public Stream DataSource { get; }

Valoarea proprietății

Stream

Remarks

Această sursă poate fi atribuită în cadrul metodei “Archive.Save” în unele cazuri.

FileAttributes

Obține atributele de fișier din sistemul de găzduire.

protected FileAttributes FileAttributes { get; }

Valoarea proprietății

FileAttributes

IsDirectory

Obține o valoare care indică dacă intrarea reprezintă un director.

public bool IsDirectory { get; }

Valoarea proprietății

bool

ModificationTime

Obține sau stabilește ultima dată și ora modificată.

public DateTime ModificationTime { get; set; }

Valoarea proprietății

DateTime

Name

Obțineți numele intrării în arhivă.

public string Name { get; protected set; }

Valoarea proprietății

string

UncompressedSize

Obține dimensiunea fișierului original.

public ulong UncompressedSize { get; }

Valoarea proprietății

ulong

Methods

Extract(String și String)

Extrage intrarea în sistemul de fișiere prin calea furnizată.

public FileInfo Extract(string path, string password = null)

Parameters

path string

Calea către fișierul de destinație. dacă fișierul există deja, va fi supraîncris.

password string

Password opțional pentru decodificare.

Returns

FileInfo

Informații despre fișierul compus.

Examples

Extrageți două intrări din arhiva zip, fiecare cu propria parolă

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract("first.bin", "first_pass");
        archive.Entries[1].Extract("second.bin", "second_pass");
    }
}

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Solicitantul nu are permisiunea necesară de acces.

ArgumentException

Calea " este goală, conține doar spații albe sau conține caractere invalide.

UnauthorizedAccessException

Accesul la fișierul path" este refuzat.

PathTooLongException

Calea specificată path’, numele fișierului, sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.

NotSupportedException

Fișierul la path’ conține o coloană (:) în mijlocul stringului.

FileNotFoundException

Dosarul nu a fost găsit.

DirectoryNotFoundException

Calea specificată este invalidă, de exemplu, fiind pe un motor necartat.

IOException

Dosarul este deja deschis.

InvalidDataException

Datele sunt corupte. -or- verificarea CRC sau MAC a eșuat pentru intrare.

Extract(Război, String)

Extrage intrarea în fluxul furnizat.

public void Extract(Stream destination, string password = null)

Parameters

destination Stream

Destination stream. trebuie să fie scris.

password string

Password opțional pentru decodificare.

Examples

Extrageți o intrare din arhiva zip cu parola.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract(httpResponseStream, "p@s$");
    }
}

Exceptions

InvalidDataException

Datele sunt corupte. -or- verificarea CRC sau MAC a eșuat pentru intrare.

IOException

Sursele sunt corupte sau nu pot fi citite.

ArgumentException

destination’ does not support writing.

Open(Strângere)

Deschide intrarea pentru extracție și oferă un flux cu conținut de intrare decompresat.

public Stream Open(string password = null)

Parameters

password string

Password opțional pentru decodificare.

Returns

Stream

Războiul care reprezintă conținutul intrării.

Examples

utilizare :Stream decompressed = entry.Open();

.NET 4.0 și mai sus - utilizați metoda Stream.CopyTo:decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 și mai devreme - copiați byte manual:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 &lt; (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### Remarks

<p>Read from the stream to get the original content of a file. See examples section.</p>

#### Exceptions

 [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)

The archive is in an incorrect state.

### <a id="Aspose_Zip_ArchiveEntry_CompressionProgressed"></a> CompressionProgressed

Raises when a portion of raw stream compressed.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Tipul evenimentului

EventHandler < ProgressEventArgs >

Examples

archive.Entries[0].CompressionProgressed += (s, e) =&gt; { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };

Remarks

Răspunsul evenimentului este o instanta Aspose.Zip.ArchiveEntry.

ExtractionProgressed

Crește atunci când o porție de flux crud este extrasată.

public event EventHandler<progresseventargs> ExtractionProgressed

Tipul evenimentului

EventHandler < ProgressEventArgs >

Examples

archive.Entries[0].ExtractionProgressed += (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };

Remarks

Răspunsul evenimentului este o instanta Aspose.Zip.ArchiveEntry.

 Română