Class ArchiveEntry
Namespace: Aspose.Zip
Assembly: Aspose.Zip.dll (25.1.0)
Reprezentuje pojedynczy plik w archiwum.
public abstract class ArchiveEntry : IArchiveFileEntry
Dziedziczenie
Pochodne
ArchiveEntryEncrypted, ArchiveEntryPlain
Implementuje
Członkowie odziedziczeni
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Uwagi
Rzucenie instancji Aspose.Zip.ArchiveEntry na Aspose.Zip.ArchiveEntryEncrypted w celu określenia, czy wpis jest zaszyfrowany, czy nie.
Konstruktory
ArchiveEntry(string, CompressionSettings, Func<stream>, FileAttributes)
Inicjalizuje nową instancję klasy Aspose.Zip.ArchiveEntry.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, FileAttributes fileAttributes)
Parametry
name
string
Nazwa wpisu.
compressionSettings
CompressionSettings
Ustawienia dla kompresji lub dekompresji.
sourceProvider
Func<Stream>
Metoda zwracająca strumień z danymi wpisu do skompresowania.
fileAttributes
FileAttributes
Atrybuty z systemu plików.
ArchiveEntry(string, CompressionSettings, Stream, FileAttributes, FileSystemInfo)
Inicjalizuje nową instancję klasy Aspose.Zip.ArchiveEntry.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)
Parametry
name
string
Nazwa wpisu.
compressionSettings
CompressionSettings
Ustawienia dla kompresji lub dekompresji.
source
Stream
Strumień z danymi wpisu do skompresowania lub dekompresowania.
fileAttributes
FileAttributes
Atrybuty z systemu plików.
fileInfo
FileSystemInfo
Informacje o pliku lub katalogu, na podstawie których oparty jest wpis.
Właściwości
Comment
Pobiera komentarz wpisu w archiwum.
public string Comment { get; protected set; }
Wartość właściwości
CompressedSize
Pobiera rozmiar skompresowanego pliku.
public ulong CompressedSize { get; }
Wartość właściwości
CompressionSettings
Pobiera ustawienia dla kompresji lub dekompresji.
public CompressionSettings CompressionSettings { get; }
Wartość właściwości
DataSource
Źródło dla wpisu, jeśli został dodany do archiwum, a nie wyodrębniony.
public Stream DataSource { get; }
Wartość właściwości
Uwagi
Przed przypisaniem źródło jest null. To źródło może być przypisane w metodzie Archive.Save
w niektórych przypadkach.
FileAttributes
Pobiera atrybuty pliku z systemu hosta.
protected FileAttributes FileAttributes { get; }
Wartość właściwości
IsDirectory
Pobiera wartość wskazującą, czy wpis reprezentuje katalog.
public bool IsDirectory { get; }
Wartość właściwości
ModificationTime
Pobiera lub ustawia datę i czas ostatniej modyfikacji.
public DateTime ModificationTime { get; set; }
Wartość właściwości
Name
Pobiera nazwę wpisu w archiwum.
public string Name { get; protected set; }
Wartość właściwości
UncompressedSize
Pobiera rozmiar oryginalnego pliku.
public ulong UncompressedSize { get; }
Wartość właściwości
Metody
Extract(string, string)
Wyodrębnia wpis do systemu plików według podanej ścieżki.
public FileInfo Extract(string path, string password = null)
Parametry
path
string
Ścieżka do pliku docelowego. Jeśli plik już istnieje, zostanie nadpisany.
password
string
Opcjonalne hasło do deszyfrowania.
Zwraca
Informacje o pliku skomponowanym.
Przykłady
Wyodrębnij dwa wpisy z archiwum zip, każdy z własnym hasłem
using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
using (Archive archive = new Archive(zipFile))
{
archive.Entries[0].Extract("first.bin", "first_pass");
archive.Entries[1].Extract("second.bin", "second_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ść określoną przez system. Na przykład, na platformach opartych na 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 nieprzypisanym dysku.
Plik jest już otwarty.
Dane są uszkodzone. -lub- Weryfikacja CRC lub MAC nie powiodła się dla wpisu.
Extract(Stream, string)
Wyodrębnia wpis do podanego strumienia.
public void Extract(Stream destination, string password = null)
Parametry
destination
Stream
Docelowy strumień. Musi być zapisywalny.
password
string
Opcjonalne hasło do deszyfrowania.
Przykłady
Wyodrębnij wpis z archiwum zip z hasłem.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
using (Archive archive = new Archive(zipFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Wyjątki
Dane są uszkodzone. -lub- Weryfikacja CRC lub MAC nie powiodła się dla wpisu.
Źródło jest uszkodzone lub nieczytelne.
destination
nie obsługuje zapisu.
Open(string)
Otwiera wpis do wyodrębnienia i udostępnia strumień z dekompresowaną zawartością wpisu.
public Stream Open(string password = null)
Parametry
password
string
Opcjonalne hasło do deszyfrowania.
Zwraca
Strumień reprezentujący 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śniejsze - 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>
#### Wyjątki
[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)
Archiwum jest w niepoprawnym stanie.
### <a id="Aspose_Zip_ArchiveEntry_CompressionProgressed"></a> CompressionProgressed
Wysyła zdarzenie, gdy część surowego strumienia została skompresowana.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
Typ zdarzenia
EventHandler<ProgressEventArgs>
Przykłady
archive.Entries[0].CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Uwagi
Nadawcą zdarzenia jest instancja Aspose.Zip.ArchiveEntry.
ExtractionProgressed
Wysyła zdarzenie, gdy część surowego strumienia została wyodrębniona.
public event EventHandler<progresseventargs> ExtractionProgressed
Typ zdarzenia
EventHandler<ProgressEventArgs>
Przykłady
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Uwagi
Nadawcą zdarzenia jest instancja Aspose.Zip.ArchiveEntry.