Class ArchiveEntry
Namespace: Aspose.Zip
Assembly: Aspose.Zip.dll (25.1.0)
Representerar en enskild fil inom arkivet.
public abstract class ArchiveEntry : IArchiveFileEntry
Arv
Härledda
ArchiveEntryEncrypted, ArchiveEntryPlain
Implementerar
Ärvt Medlemmar
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Kommentarer
Kasta en instans av Aspose.Zip.ArchiveEntry till Aspose.Zip.ArchiveEntryEncrypted för att avgöra om posten är krypterad eller inte.
Konstruktörer
ArchiveEntry(string, CompressionSettings, Func<stream>, FileAttributes)
Initierar en ny instans av klassen Aspose.Zip.ArchiveEntry.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, FileAttributes fileAttributes)
Parametrar
name
string
Postens namn.
compressionSettings
CompressionSettings
Inställningar för komprimering eller dekomprimering.
sourceProvider
Func<Stream>
Metod som returnerar en ström med postdata som ska komprimeras.
fileAttributes
FileAttributes
Attribut från filsystemet.
ArchiveEntry(string, CompressionSettings, Stream, FileAttributes, FileSystemInfo)
Initierar en ny instans av klassen Aspose.Zip.ArchiveEntry.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)
Parametrar
name
string
Postens namn.
compressionSettings
CompressionSettings
Inställningar för komprimering eller dekomprimering.
source
Stream
Ström med postdata som ska komprimeras eller dekomprimeras.
fileAttributes
FileAttributes
Attribut från filsystemet.
fileInfo
FileSystemInfo
Information om fil eller katalog som posten baseras på.
Egenskaper
Kommentar
Hämtar kommentaren för posten inom arkivet.
public string Comment { get; protected set; }
Egenskapsvärde
CompressedSize
Hämtar storleken på den komprimerade filen.
public ulong CompressedSize { get; }
Egenskapsvärde
CompressionSettings
Hämtar inställningar för komprimering eller dekomprimering.
public CompressionSettings CompressionSettings { get; }
Egenskapsvärde
DataSource
Källa för posten om posten lades till i arkivet, inte extraherades.
public Stream DataSource { get; }
Egenskapsvärde
Kommentarer
Innan den tilldelas är källan null. Denna källa kan tilldelas inom Archive.Save
metoden i vissa fall.
FileAttributes
Hämtar filattribut från värdsystemet.
protected FileAttributes FileAttributes { get; }
Egenskapsvärde
IsDirectory
Hämtar ett värde som indikerar om posten representerar en katalog.
public bool IsDirectory { get; }
Egenskapsvärde
ModificationTime
Hämtar eller ställer in det senaste ändringsdatumet och tiden.
public DateTime ModificationTime { get; set; }
Egenskapsvärde
Namn
Hämtar namnet på posten inom arkivet.
public string Name { get; protected set; }
Egenskapsvärde
UncompressedSize
Hämtar storleken på den ursprungliga filen.
public ulong UncompressedSize { get; }
Egenskapsvärde
Metoder
Extract(string, string)
Extraherar posten till filsystemet enligt den angivna sökvägen.
public FileInfo Extract(string path, string password = null)
Parametrar
path
string
Sökvägen till destinationsfilen. Om filen redan finns kommer den att skrivas över.
password
string
Valfritt lösenord för dekryptering.
Returer
Filinformationen för den skapade filen.
Exempel
Extrahera två poster från zip-arkivet, var och en med sitt eget lösenord
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");
}
}
Undantag
path
är null.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst.
path
är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.
Åtkomst till filen path
nekas.
Den angivna path
, filnamnet, eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara kortare än 248 tecken, och filnamn måste vara kortare än 260 tecken.
Fil på path
innehåller ett kolon (:) i mitten av strängen.
Filen hittades inte.
Den angivna sökvägen är ogiltig, till exempel om den ligger på en icke-kartlagd enhet.
Filen är redan öppen.
Data är korrupta. -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.
password
string
Valfritt lösenord för dekryptering.
Exempel
Extrahera en post från zip-arkivet med lösenord.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
using (Archive archive = new Archive(zipFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Undantag
Data är korrupta. -eller- CRC eller MAC-verifiering misslyckades för posten.
Källan är korrupt eller inte läsbar.
destination
stöder inte skrivning.
Open(string)
Öppnar posten för extraktion och tillhandahåller en ström med dekomprimerat innehåll av posten.
public Stream Open(string password = null)
Parametrar
password
string
Valfritt lösenord för dekryptering.
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>
#### Kommentarer
<p>Läs från strömmen för att få det ursprungliga innehållet i filen. Se exempelavsnittet.</p>
#### Undantag
[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)
Arkivet är i ett felaktigt tillstånd.
### <a id="Aspose_Zip_ArchiveEntry_CompressionProgressed"></a> CompressionProgressed
Uppstår när en del av den råa strömmen komprimeras.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
Händelsetyp
EventHandler<ProgressEventArgs>
Exempel
archive.Entries[0].CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Kommentarer
Händelseavsändaren är en instans av Aspose.Zip.ArchiveEntry.
ExtractionProgressed
Uppstår när en del av den råa strömmen extraheras.
public event EventHandler<progresseventargs> ExtractionProgressed
Händelsetyp
EventHandler<ProgressEventArgs>
Exempel
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Kommentarer
Händelseavsändaren är en instans av Aspose.Zip.ArchiveEntry.