Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Rappresenta un singolo file all’interno dell’archivio.
public abstract class RarArchiveEntry : IArchiveFileEntry
Ereditarietà
Derivato
RarArchiveEntryEncrypted, RarArchiveEntryPlain
Implementa
Membri Ereditati
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Osservazioni
Esegui il cast di un’istanza di Aspose.Zip.Rar.RarArchiveEntry in Aspose.Zip.Rar.RarArchiveEntryEncrypted per determinare se l’elemento è crittografato o meno.
Proprietà
CompressedSize
Ottiene la dimensione del file compresso.
public ulong CompressedSize { get; }
Valore della Proprietà
CreationTime
Ottiene la data e l’ora di creazione.
public DateTime CreationTime { get; }
Valore della Proprietà
IsDirectory
Ottiene un valore che indica se l’elemento rappresenta una directory.
public bool IsDirectory { get; }
Valore della Proprietà
LastAccessTime
Ottiene la data e l’ora dell’ultimo accesso.
public DateTime LastAccessTime { get; }
Valore della Proprietà
ModificationTime
Ottiene la data e l’ora dell’ultima modifica.
public DateTime ModificationTime { get; }
Valore della Proprietà
Name
Ottiene il nome dell’elemento all’interno dell’archivio.
public string Name { get; }
Valore della Proprietà
Source
Ottiene il flusso di dati sorgente per l’elemento.
protected Stream Source { get; 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 filesystem 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
Le informazioni sul file composto.
Esempi
Estrai due elementi dell'archivio rar.
using (FileStream rarFile = File.Open("archive.rar", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract("first.bin", "pass");
archive.Entries[1].Extract("second.bin", "pass");
}
}
Eccezioni
path
è nullo.
Il chiamante non ha il permesso necessario 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 nel flusso fornito.
public void Extract(Stream destination, string password = null)
Parametri
destination
Stream
Flusso di destinazione. Deve essere scrivibile.
password
string
Password opzionale per la decrittazione.
Esempi
Estrai un elemento dell'archivio rar con password.
using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Eccezioni
La verifica CRC o MAC è fallita per l’elemento.
destination
non supporta la scrittura.
I dati sono danneggiati. -o- La verifica CRC o MAC è fallita per l’elemento.
Open(string)
Apre l’elemento per l’estrazione e fornisce un flusso con il contenuto dell’elemento decompresso.
public Stream Open(string password = null)
Parametri
password
string
Password opzionale per la decrittazione. Può anche essere impostata all’interno di Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword.
Restituisce
Il flusso che rappresenta i contenuti 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 dal flusso per ottenere il contenuto originale del file. Vedi la sezione esempi.</p>
### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed
Si attiva quando una porzione del flusso grezzo è stata estratta.
```csharp
public event EventHandler<progresseventargs> ExtractionProgressed
Tipo di Evento
EventHandler<ProgressEventArgs>
Esempi
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
Osservazioni
Il mittente dell’evento è un’istanza di Aspose.Zip.Rar.RarArchiveEntry.