Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Reprezentuje jednotlivý soubor v archivu.
public abstract class RarArchiveEntry : IArchiveFileEntry
Dědičnost
Odvozené
RarArchiveEntryEncrypted, RarArchiveEntryPlain
Implementuje
Děděné členy
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Poznámky
Převeďte instanci Aspose.Zip.Rar.RarArchiveEntry na Aspose.Zip.Rar.RarArchiveEntryEncrypted, abyste zjistili, zda je položka zašifrována nebo ne.
Vlastnosti
CompressedSize
Získá velikost komprimovaného souboru.
public ulong CompressedSize { get; }
Hodnota vlastnosti
CreationTime
Získá datum a čas vytvoření.
public DateTime CreationTime { get; }
Hodnota vlastnosti
IsDirectory
Získá hodnotu indikující, zda položka představuje adresář.
public bool IsDirectory { get; }
Hodnota vlastnosti
LastAccessTime
Získá datum a čas posledního přístupu.
public DateTime LastAccessTime { get; }
Hodnota vlastnosti
ModificationTime
Získá datum a čas poslední úpravy.
public DateTime ModificationTime { get; }
Hodnota vlastnosti
Name
Získá název položky v archivu.
public string Name { get; }
Hodnota vlastnosti
Source
Získá datový zdrojový proud pro položku.
protected Stream Source { get; set; }
Hodnota vlastnosti
UncompressedSize
Získá velikost původního souboru.
public ulong UncompressedSize { get; }
Hodnota vlastnosti
Metody
Extract(string, string)
Extrahuje položku do souborového systému podle zadané cesty.
public FileInfo Extract(string path, string password = null)
Parametry
path
string
Cesta k cílovému souboru. Pokud soubor již existuje, bude přepsán.
password
string
Volitelné heslo pro dešifrování.
Návratová hodnota
Informace o souboru extrahovaném souboru.
Příklady
Extrahujte dvě položky z rar archivu.
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");
}
}
Výjimky
path
je null.
Volající nemá potřebné oprávnění pro přístup.
path
je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky.
Přístup k souboru path
je odepřen.
Zadaná path
, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.
Soubor na path
obsahuje dvojtečku (:) uprostřed řetězce.
Soubor nebyl nalezen.
Zadaná cesta je neplatná, například na nepřiřazeném disku.
Soubor je již otevřen.
Data jsou poškozena. -nebo- Ověření CRC nebo MAC selhalo pro položku.
Extract(Stream, string)
Extrahuje položku do zadaného proudu.
public void Extract(Stream destination, string password = null)
Parametry
destination
Stream
Cílový proud. Musí být zapisovatelný.
password
string
Volitelné heslo pro dešifrování.
Příklady
Extrahujte položku z rar archivu s heslem.
using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Výjimky
Ověření CRC nebo MAC selhalo pro položku.
destination
nepodporuje zápis.
Data jsou poškozena. -nebo- Ověření CRC nebo MAC selhalo pro položku.
Open(string)
Otevře položku pro extrakci a poskytne proud s dekomprimovaným obsahem položky.
public Stream Open(string password = null)
Parametry
password
string
Volitelné heslo pro dešifrování. Může být také nastaveno v Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword.
Návratová hodnota
Proud, který představuje obsah položky.
Příklady
Použití:
Stream decompressed = entry.Open();
.NET 4.0 a vyšší - použijte metodu Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 a předtím - kopírujte bajty ručně:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Poznámky
<p>Čtěte ze streamu, abyste získali původní obsah souboru. Viz sekce příklady.</p>
### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed
Vyvolá se, když je extrahována část surového proudu.
```csharp
public event EventHandler<progresseventargs> ExtractionProgressed
Typ události
EventHandler<ProgressEventArgs>
Příklady
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
Poznámky
Odesílatelem události je instance Aspose.Zip.Rar.RarArchiveEntry.