Class ArchiveEntry
Numele spaţiului: Aspose.Zip Asamblare: Aspose.Zip.dll (25.5.0)
Reprezintă un singur fișier în arhivă.
public abstract class ArchiveEntry : IArchiveFileEntry
Inheritance
Derived
ArchiveEntryEncrypted , ArchiveEntryPlain
Implements
Membrii moștenitori
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
Încărcați un Aspose.Zip.ArchiveEntry la Aspose.Zip.ArchiveEntryCryptat pentru a determina dacă intrarea este criptată sau nu.
Constructors
ArchiveEntry(String, CompresieSettings, Funcîn UINT)
Inițializează o nouă instanță a clasei Aspose.Zip.ArchiveEntry.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, uint fileAttributes)
Parameters
name
string
Numele de intrare.
compressionSettings
CompressionSettings
Setări pentru compresie sau decompresie.
sourceProvider
Func
<
Stream
>
Metoda de returnare a fluxului cu datele de intrare fie pentru a fi comprimate.
fileAttributes
uint
atributele sistemului de fișiere.
ArchiveEntry(string, CompressionSettings, Stream, uint, FileSystemInfo)
Inițializează o nouă instanță a clasei Aspose.Zip.ArchiveEntry.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, uint fileAttributes, FileSystemInfo fileInfo = null)
Parameters
name
string
Numele de intrare.
compressionSettings
CompressionSettings
Setări pentru compresie sau decompresie.
source
Stream
Stream cu date de intrare fie pentru a fi compresate sau pentru a fi decompresate.
fileAttributes
uint
atributele sistemului de fișiere.
fileInfo
FileSystemInfo
Fișierul sau directorul informați intrarea bazată pe.
Properties
Comment
Obțineți un comentariu de intrare în arhivă.
public string Comment { get; protected set; }
Valoarea proprietății
CompressedSize
Obține dimensiunea fișierului comprimat.
public ulong CompressedSize { get; }
Valoarea proprietății
CompressionSettings
Obține setări pentru compresie sau decompresie.
public CompressionSettings CompressionSettings { get; }
Valoarea proprietății
DataSource
Sursă pentru intrare dacă intrarea a fost adăugată în arhivă, nu extrăzută.
public Stream DataSource { get; }
Valoarea proprietății
Remarks
Această sursă poate fi atribuită în cadrul metodei “Archive.Save” în unele cazuri.
FileAttributes
Obține atributele de fișier din sistemul de găzduire.
protected FileAttributes FileAttributes { get; }
Valoarea proprietății
IsDirectory
Obține o valoare care indică dacă intrarea reprezintă un director.
public bool IsDirectory { get; }
Valoarea proprietății
ModificationTime
Obține sau stabilește ultima dată și ora modificată.
public DateTime ModificationTime { get; set; }
Valoarea proprietății
Name
Obțineți numele intrării în arhivă.
public string Name { get; protected set; }
Valoarea proprietății
UncompressedSize
Obține dimensiunea fișierului original.
public ulong UncompressedSize { get; }
Valoarea proprietății
Methods
Extract(String și String)
Extrage intrarea în sistemul de fișiere prin calea furnizată.
public FileInfo Extract(string path, string password = null)
Parameters
path
string
Calea către fișierul de destinație. dacă fișierul există deja, va fi supraîncris.
password
string
Password opțional pentru decodificare.
Returns
Informații despre fișierul compus.
Examples
Extrageți două intrări din arhiva zip, fiecare cu propria parolă
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");
}
}
Exceptions
path’ is null.
Solicitantul nu are permisiunea necesară de acces.
Calea " este goală, conține doar spații albe sau conține caractere invalide.
Accesul la fișierul path" este refuzat.
Calea specificată path’, numele fișierului, sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.
Fișierul la path’ conține o coloană (:) în mijlocul stringului.
Dosarul nu a fost găsit.
Calea specificată este invalidă, de exemplu, fiind pe un motor necartat.
Dosarul este deja deschis.
Datele sunt corupte. -or- verificarea CRC sau MAC a eșuat pentru intrare.
Extract(Război, String)
Extrage intrarea în fluxul furnizat.
public void Extract(Stream destination, string password = null)
Parameters
destination
Stream
Destination stream. trebuie să fie scris.
password
string
Password opțional pentru decodificare.
Examples
Extrageți o intrare din arhiva zip cu parola.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
using (Archive archive = new Archive(zipFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Exceptions
Datele sunt corupte. -or- verificarea CRC sau MAC a eșuat pentru intrare.
Sursele sunt corupte sau nu pot fi citite.
destination’ does not support writing.
Open(Strângere)
Deschide intrarea pentru extracție și oferă un flux cu conținut de intrare decompresat.
public Stream Open(string password = null)
Parameters
password
string
Password opțional pentru decodificare.
Returns
Războiul care reprezintă conținutul intrării.
Examples
utilizare :Stream decompressed = entry.Open();
.NET 4.0 și mai sus - utilizați metoda Stream.CopyTo:decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 și mai devreme - copiați byte manual:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Remarks
<p>Read from the stream to get the original content of a file. See examples section.</p>
#### Exceptions
[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)
The archive is in an incorrect state.
### <a id="Aspose_Zip_ArchiveEntry_CompressionProgressed"></a> CompressionProgressed
Raises when a portion of raw stream compressed.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
Tipul evenimentului
EventHandler < ProgressEventArgs >
Examples
archive.Entries[0].CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Remarks
Răspunsul evenimentului este o instanta Aspose.Zip.ArchiveEntry.
ExtractionProgressed
Crește atunci când o porție de flux crud este extrasată.
public event EventHandler<progresseventargs> ExtractionProgressed
Tipul evenimentului
EventHandler < ProgressEventArgs >
Examples
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Remarks
Răspunsul evenimentului este o instanta Aspose.Zip.ArchiveEntry.