Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Reprezentuje pojedynczy plik w archiwum.
public abstract class RarArchiveEntry : IArchiveFileEntry
Dziedziczenie
Pochodne
RarArchiveEntryEncrypted, RarArchiveEntryPlain
Implementuje
Członkowie dziedziczeni
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Uwagi
Rzuć instancję Aspose.Zip.Rar.RarArchiveEntry na Aspose.Zip.Rar.RarArchiveEntryEncrypted, aby określić, czy wpis jest zaszyfrowany, czy nie.
Właściwości
CompressedSize
Zyskuje rozmiar skompresowanego pliku.
public ulong CompressedSize { get; }
Wartość właściwości
CreationTime
Zyskuje datę i czas utworzenia.
public DateTime CreationTime { get; }
Wartość właściwości
IsDirectory
Zyskuje wartość wskazującą, czy wpis reprezentuje katalog.
public bool IsDirectory { get; }
Wartość właściwości
LastAccessTime
Zyskuje datę i czas ostatniego dostępu.
public DateTime LastAccessTime { get; }
Wartość właściwości
ModificationTime
Zyskuje datę i czas ostatniej modyfikacji.
public DateTime ModificationTime { get; }
Wartość właściwości
Name
Zyskuje nazwę wpisu w archiwum.
public string Name { get; }
Wartość właściwości
Source
Zyskuje strumień źródłowy danych dla wpisu.
protected Stream Source { get; set; }
Wartość właściwości
UncompressedSize
Zyskuje rozmiar oryginalnego pliku.
public ulong UncompressedSize { get; }
Wartość właściwości
Metody
Extract(string, string)
Wydobywa wpis do systemu plików według podanej ścieżki.
public FileInfo Extract(string path, string password = null)
Parametry
path
string
Ścieżka do docelowego pliku. Jeśli plik już istnieje, zostanie nadpisany.
password
string
Opcjonalne hasło do deszyfrowania.
Zwraca
Informacje o pliku skomponowanego pliku.
Przykłady
Wydobądź dwa wpisy z archiwum 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");
}
}
Wyjątki
path
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu.
path
jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki.
Dostęp do pliku path
jest zabroniony.
Podana path
, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na systemie Windows ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.
Plik w path
zawiera dwukropek (:) w środku ciągu.
Plik nie został znaleziony.
Podana ścieżka jest nieprawidłowa, na przykład znajduje się na niewidocznej dysku.
Plik jest już otwarty.
Dane są uszkodzone. -lub- Weryfikacja CRC lub MAC nie powiodła się dla wpisu.
Extract(Stream, string)
Wydobywa wpis do podanego strumienia.
public void Extract(Stream destination, string password = null)
Parametry
destination
Stream
Strumień docelowy. Musi być zapisywalny.
password
string
Opcjonalne hasło do deszyfrowania.
Przykłady
Wydobądź wpis z archiwum rar z hasłem.
using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Wyjątki
Weryfikacja CRC lub MAC nie powiodła się dla wpisu.
destination
nie obsługuje zapisu.
Dane są uszkodzone. -lub- Weryfikacja CRC lub MAC nie powiodła się dla wpisu.
Open(string)
Otwiera wpis do wydobycia i zapewnia strumień z dekompresowaną zawartością wpisu.
public Stream Open(string password = null)
Parametry
password
string
Opcjonalne hasło do deszyfrowania. Może być również ustawione w Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword.
Zwraca
Strumień, który reprezentuje zawartość wpisu.
Przykłady
Użycie:
Stream decompressed = entry.Open();
.NET 4.0 i wyżej - użyj metody Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 i wcześniej - kopiuj bajty ręcznie:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Uwagi
<p>Odczytaj ze strumienia, aby uzyskać oryginalną zawartość pliku. Zobacz sekcję przykładów.</p>
### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed
Wydarza się, gdy część surowego strumienia jest wydobywana.
```csharp
public event EventHandler<progresseventargs> ExtractionProgressed
Typ zdarzenia
EventHandler<ProgressEventArgs>
Przykłady
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
Uwagi
Nadawcą zdarzenia jest instancja Aspose.Zip.Rar.RarArchiveEntry.