Class ArchiveEntry

Class ArchiveEntry

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

Rappresenta un singolo file all’interno dell’archivio.

public abstract class ArchiveEntry : IArchiveFileEntry

Ereditarietà

objectArchiveEntry

Derivato

ArchiveEntryEncrypted, ArchiveEntryPlain

Implementa

IArchiveFileEntry

Membri Ereditati

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

Osservazioni

Cast un’istanza di Aspose.Zip.ArchiveEntry a Aspose.Zip.ArchiveEntryEncrypted per determinare se l’elemento è crittografato o meno.

Costruttori

ArchiveEntry(string, CompressionSettings, Func<stream>, FileAttributes)

Inizializza una nuova istanza della classe Aspose.Zip.ArchiveEntry.

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

Parametri

name string

Nome dell’elemento.

compressionSettings CompressionSettings

Impostazioni per la compressione o la decompressione.

sourceProvider Func<Stream&gt;

Metodo che restituisce uno stream con i dati dell’elemento da comprimere.

fileAttributes FileAttributes

Attributi dal file system.

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

Inizializza una nuova istanza della classe Aspose.Zip.ArchiveEntry.

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

Parametri

name string

Nome dell’elemento.

compressionSettings CompressionSettings

Impostazioni per la compressione o la decompressione.

source Stream

Stream con i dati dell’elemento da comprimere o decomprimere.

fileAttributes FileAttributes

Attributi dal file system.

fileInfo FileSystemInfo

Informazioni sul file o sulla directory su cui si basa l’elemento.

Proprietà

Commento

Ottiene il commento dell’elemento all’interno dell’archivio.

public string Comment { get; protected set; }

Valore della Proprietà

string

CompressedSize

Ottiene la dimensione del file compresso.

public ulong CompressedSize { get; }

Valore della Proprietà

ulong

CompressionSettings

Ottiene le impostazioni per la compressione o la decompressione.

public CompressionSettings CompressionSettings { get; }

Valore della Proprietà

CompressionSettings

DataSource

Fonte per l’elemento se l’elemento è stato aggiunto all’archivio, non estratto.

public Stream DataSource { get; }

Valore della Proprietà

Stream

Osservazioni

Prima dell’assegnazione, la fonte è nulla. Questa fonte può essere assegnata all’interno del metodo Archive.Save in alcuni casi.

FileAttributes

Ottiene gli attributi del file dal sistema host.

protected FileAttributes FileAttributes { get; }

Valore della Proprietà

FileAttributes

IsDirectory

Ottiene un valore che indica se l’elemento rappresenta una directory.

public bool IsDirectory { get; }

Valore della Proprietà

bool

ModificationTime

Ottiene o imposta la data e l’ora dell’ultima modifica.

public DateTime ModificationTime { get; set; }

Valore della Proprietà

DateTime

Nome

Ottiene il nome dell’elemento all’interno dell’archivio.

public string Name { get; protected set; }

Valore della Proprietà

string

UncompressedSize

Ottiene la dimensione del file originale.

public ulong UncompressedSize { get; }

Valore della Proprietà

ulong

Metodi

Extract(string, string)

Estrae l’elemento nel file system secondo il percorso fornito.

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

Parametri

path string

Il percorso del file di destinazione. Se il file esiste già, verrà sovrascritto.

password string

Password opzionale per la decrittografia.

Restituisce

FileInfo

Le informazioni sul file composto.

Esempi

Estrai due elementi di un archivio zip, ciascuno con la propria password

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");
    }
}

Eccezioni

ArgumentNullException

path è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere.

ArgumentException

Il path è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.

UnauthorizedAccessException

Accesso al file path negato.

PathTooLongException

Il path, il nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

NotSupportedException

Il file in path contiene un due punti (:) nel mezzo della stringa.

FileNotFoundException

Il file non è stato trovato.

DirectoryNotFoundException

Il percorso specificato non è valido, ad esempio, se si trova su un’unità non mappata.

IOException

Il file è già aperto.

InvalidDataException

I dati sono danneggiati. -o- La verifica CRC o MAC è fallita per l’elemento.

Extract(Stream, string)

Estrae l’elemento nello stream fornito.

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

Parametri

destination Stream

Stream di destinazione. Deve essere scrivibile.

password string

Password opzionale per la decrittografia.

Esempi

Estrai un elemento di un archivio zip con password.

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

Eccezioni

InvalidDataException

I dati sono danneggiati. -o- La verifica CRC o MAC è fallita per l’elemento.

IOException

La sorgente è danneggiata o non leggibile.

ArgumentException

destination non supporta la scrittura.

Open(string)

Apre l’elemento per l’estrazione e fornisce uno stream con il contenuto dell’elemento decompresso.

public Stream Open(string password = null)

Parametri

password string

Password opzionale per la decrittografia.

Restituisce

Stream

Lo stream che rappresenta il contenuto dell’elemento.

Esempi

Utilizzo: Stream decompressed = entry.Open();

.NET 4.0 e versioni successive - usa il metodo Stream.CopyTo: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 e versioni precedenti - copia i byte manualmente:

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

#### Osservazioni

<p>Leggi dallo stream per ottenere il contenuto originale del file. Vedi la sezione esempi.</p>

#### Eccezioni

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

L'archivio è in uno stato non corretto.

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

Si attiva quando una porzione di stream raw è compressa.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Tipo di Evento

EventHandler<ProgressEventArgs&gt;

Esempi

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

Osservazioni

Il mittente dell’evento è un’istanza di Aspose.Zip.ArchiveEntry.

ExtractionProgressed

Si attiva quando una porzione di stream raw è estratta.

public event EventHandler<progresseventargs> ExtractionProgressed

Tipo di Evento

EventHandler<ProgressEventArgs&gt;

Esempi

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

Osservazioni

Il mittente dell’evento è un’istanza di Aspose.Zip.ArchiveEntry.

 Italiano