Class SevenZipArchiveEntry

Class SevenZipArchiveEntry

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

Rappresenta un singolo file all’interno di un archivio 7z.

public abstract class SevenZipArchiveEntry : IArchiveFileEntry

Ereditarietà

objectSevenZipArchiveEntry

Derivato

SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain

Implementa

IArchiveFileEntry

Membri ereditati

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

Osservazioni

Effettuare il cast di un’istanza di Aspose.Zip.SevenZip.SevenZipArchiveEntry a Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted per determinare se l’elemento è crittografato o meno.

Costruttori

SevenZipArchiveEntry(SevenZipArchive, string, SevenZipCompressionSettings, Stream, FileAttributes, FileSystemInfo)

Inizializza una nuova istanza della classe Aspose.Zip.SevenZip.SevenZipArchiveEntry.

protected SevenZipArchiveEntry(SevenZipArchive parent, string name, SevenZipCompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)

Parametri

parent SevenZipArchive

name string

Nome dell’elemento.

compressionSettings SevenZipCompressionSettings

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.

Eccezioni

ArgumentException

Il name è nullo o vuoto.

Proprietà

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 SevenZipCompressionSettings CompressionSettings { get; }

Valore della Proprietà

SevenZipCompressionSettings

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 la data e l’ora dell’ultima modifica.

public DateTime ModificationTime { get; }

Valore della Proprietà

DateTime

Name

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

public string Name { get; protected set; }

Valore della Proprietà

string

Source

Ottiene lo stream della sorgente dati per l’elemento.

protected Stream Source { get; set; }

Valore della Proprietà

Stream

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 decrittazione.

Restituisce

FileInfo

Le informazioni sul file composto.

Esempi

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract("data.bin");
}

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 due punti (:) nel mezzo della stringa.

InvalidDataException

L’archivio è corrotto.

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 decrittazione.

Esempi

Estrai un elemento di un archivio zip con password.

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract(httpResponseStream);
}

Eccezioni

ArgumentException

destination non supporta la scrittura.

InvalidOperationException

L’archivio non è stato aperto per l’estrazione. - o - Questo elemento è una directory.

InvalidDataException

Dati errati all’interno dell’elemento.

FinalizeCompressedData(Stream, byte[])

Scrive nello stream di output eventuali intestazioni che seguono i dati compressi.

protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)

Parametri

outputStream Stream

Stream di output per l’elemento.

encoderProperties byte[]

Proprietà del compressore.

Restituisce

int

Numero di byte “tecnici” che sono stati aggiunti dopo il blocco di dati significativo dell’elemento.

GetDestinationStream(Stream)

Stream di destinazione per l’elemento, può essere decorato.

protected abstract Stream GetDestinationStream(Stream outputStream)

Parametri

outputStream Stream

Stream di output per l’elemento.

Restituisce

Stream

Lo stream di destinazione per la compressione dell’elemento.

Open(string)

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

public Stream Open(string password = null)

Parametri

password string

Password opzionale per la decrittazione.

Restituisce

Stream

Lo stream che rappresenta il contenuto dell’elemento.

Esempi

Utilizzo: Stream decompressed = entry.Open();

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

.NET 3.5 e 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

Leggi dallo stream per ottenere il contenuto originale del file. Vedi la sezione esempi.

#### Eccezioni

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

L'archivio non è stato aperto per l'estrazione. - o - Questo elemento è una directory.

 [InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)

Dati errati all'interno dell'elemento.

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

Si attiva quando una porzione di stream grezzo è stata 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.SevenZip.SevenZipArchiveEntry.

Non si attiva in modalità multi-thread per le voci LZMA2.

 Italiano