Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Representerar enstaka fil inom arkivet.
public abstract class RarArchiveEntry : IArchiveFileEntry
Arv
Härledda
RarArchiveEntryEncrypted, RarArchiveEntryPlain
Implementerar
Ärvda Medlemmar
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Anmärkningar
Kasta en instans av Aspose.Zip.Rar.RarArchiveEntry till Aspose.Zip.Rar.RarArchiveEntryEncrypted för att avgöra om posten är krypterad eller inte.
Egenskaper
CompressedSize
Får storleken på den komprimerade filen.
public ulong CompressedSize { get; }
Egenskapsvärde
CreationTime
Får skapelsedatum och tid.
public DateTime CreationTime { get; }
Egenskapsvärde
IsDirectory
Får ett värde som indikerar om posten representerar en katalog.
public bool IsDirectory { get; }
Egenskapsvärde
LastAccessTime
Får datum och tid för senaste åtkomst.
public DateTime LastAccessTime { get; }
Egenskapsvärde
ModificationTime
Får datum och tid för senaste modifiering.
public DateTime ModificationTime { get; }
Egenskapsvärde
Name
Får namnet på posten inom arkivet.
public string Name { get; }
Egenskapsvärde
Source
Får datakällströmmen för posten.
protected Stream Source { get; set; }
Egenskapsvärde
UncompressedSize
Får storleken på den ursprungliga filen.
public ulong UncompressedSize { get; }
Egenskapsvärde
Metoder
Extract(string, string)
Extraherar posten till filsystemet via den angivna sökvägen.
public FileInfo Extract(string path, string password = null)
Parametrar
sökväg
string
Sökvägen till destinationsfilen. Om filen redan finns kommer den att skrivas över.
lösenord
string
Valfritt lösenord för dekryptering.
Returer
Filinformationen för den sammansatta filen.
Exempel
Extrahera två poster från rar-arkivet.
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");
}
}
Undantag
sökväg
är null.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst.
sökväg
är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.
Åtkomst till fil sökväg
är nekad.
Den angivna sökväg
, filnamn eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Fil på sökväg
innehåller ett kolon (:) mitt i strängen.
Filen hittades inte.
Den angivna sökvägen är ogiltig, såsom att vara på en icke-mappad enhet.
Filen är redan öppen.
Data är korrupt. -eller- CRC eller MAC-verifiering misslyckades för posten.
Extract(Stream, string)
Extraherar posten till den angivna strömmen.
public void Extract(Stream destination, string password = null)
Parametrar
destination
Stream
Destinationsström. Måste vara skrivbar.
lösenord
string
Valfritt lösenord för dekryptering.
Exempel
Extrahera en post från rar-arkivet med lösenord.
using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Undantag
CRC eller MAC-verifiering misslyckades för posten.
destination
stöder inte skrivning.
Data är korrupt. -eller- CRC eller MAC-verifiering misslyckades för posten.
Open(string)
Öppnar posten för extraktion och tillhandahåller en ström med den dekomprimerade postens innehåll.
public Stream Open(string password = null)
Parametrar
lösenord
string
Valfritt lösenord för dekryptering. Det kan också ställas in inom Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword.
Returer
Strömmen som representerar innehållet i posten.
Exempel
Användning:
Stream decompressed = entry.Open();
.NET 4.0 och högre - använd Stream.CopyTo-metoden:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 och tidigare - kopiera byte manuellt:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Anmärkningar
<p> Läs från strömmen för att få det ursprungliga innehållet i filen. Se avsnittet exempel.</p>
### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed
Utlöser när en del av den råa strömmen har extraherats.
```csharp
public event EventHandler<progresseventargs> ExtractionProgressed
Händelsetyp
EventHandler<ProgressEventArgs>
Exempel
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
Anmärkningar
Händelseavsändaren är en instans av Aspose.Zip.Rar.RarArchiveEntry.