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à
Derivato
ArchiveEntryEncrypted, ArchiveEntryPlain
Implementa
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>
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à
CompressedSize
Ottiene la dimensione del file compresso.
public ulong CompressedSize { get; }
Valore della Proprietà
CompressionSettings
Ottiene le impostazioni per la compressione o la decompressione.
public CompressionSettings CompressionSettings { get; }
Valore della Proprietà
DataSource
Fonte per l’elemento se l’elemento è stato aggiunto all’archivio, non estratto.
public Stream DataSource { get; }
Valore della Proprietà
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à
IsDirectory
Ottiene un valore che indica se l’elemento rappresenta una directory.
public bool IsDirectory { get; }
Valore della Proprietà
ModificationTime
Ottiene o imposta la data e l’ora dell’ultima modifica.
public DateTime ModificationTime { get; set; }
Valore della Proprietà
Nome
Ottiene il nome dell’elemento all’interno dell’archivio.
public string Name { get; protected set; }
Valore della Proprietà
UncompressedSize
Ottiene la dimensione del file originale.
public ulong UncompressedSize { get; }
Valore della Proprietà
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
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
path
è nullo.
Il chiamante non ha il permesso richiesto per accedere.
Il path
è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.
Accesso al file path
negato.
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.
Il file in path
contiene un due punti (:) nel mezzo della stringa.
Il file non è stato trovato.
Il percorso specificato non è valido, ad esempio, se si trova su un’unità non mappata.
Il file è già aperto.
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
I dati sono danneggiati. -o- La verifica CRC o MAC è fallita per l’elemento.
La sorgente è danneggiata o non leggibile.
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
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 < (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>
Esempi
archive.Entries[0].CompressionProgressed += (s, e) => { 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>
Esempi
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Osservazioni
Il mittente dell’evento è un’istanza di Aspose.Zip.ArchiveEntry.