Class XarFileEntry
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Reprezentuje položku souboru v archivu xar.
public sealed class XarFileEntry : XarEntry, IArchiveFileEntry
Dědění
object ← XarEntry ← XarFileEntry
Implementuje
Děděné členy
XarEntry.ToString(), XarEntry.Name, XarEntry.FullPath, XarEntry.IsDirectory, XarEntry.Parent, XarEntry.CreationTime, XarEntry.LastAccessTime, XarEntry.LastWriteTime, object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Vlastnosti
Délka
Získá délku položky v bajtech.
public long Length { get; }
Hodnota vlastnosti
Metody
Extract(string)
Extrahuje položku do souborového systému podle zadané cesty.
public FileInfo Extract(string path)
Parametry
path
string
Cesta k cílovému souboru. Pokud soubor již existuje, bude přepsán.
Vrací
Informace o souboru složeném souboru.
Příklady
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract("data.bin");
}
Výjimky
path
je null.
Volající nemá požadované 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 stanovenou systémem. Například na platformách 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.
Archiv je poškozen.
Extract(Stream)
Extrahuje položku do zadaného proudu.
public void Extract(Stream destination)
Parametry
destination
Stream
Cílový proud. Musí být zapisovatelný.
Příklady
Extrahujte položku archivu xar.
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract(httpResponseStream);
}
Výjimky
destination
nepodporuje zápis.
Archiv je poškozen.
Open()
Otevře položku pro extrakci a poskytne proud s obsahem položky.
public Stream Open()
Vrací
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
Čtěte z proudu, abyste získali původní obsah souboru. Viz sekce příkladů.
### <a id="Aspose_Zip_Xar_XarFileEntry_CompressionProgressed"></a> CompressionProgressed
Vyvolá se, když je stlačena část surového proudu.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
Typ události
EventHandler<ProgressEventArgs>
Příklady
archive.Entries.First().CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Poznámky
Odesílatelem události je instance Aspose.Zip.Xar.XarFileEntry.