Class XarArchive

Class XarArchive

Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)

Diese Klasse stellt eine xar-Archivdatei dar.

public class XarArchive : IArchive, IDisposable

Vererbung

objectXarArchive

Implementiert

IArchive, IDisposable

Vererbte Mitglieder

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Konstruktoren

XarArchive(XarCompressionSettings)

Initialisiert eine neue Instanz der Aspose.Zip.Xar.XarArchive-Klasse.

public XarArchive(XarCompressionSettings defaultCompressionSettings = null)

Parameter

defaultCompressionSettings XarCompressionSettings

Die Standardkomprimierungseinstellungen, die auf alle Einträge des Archivs angewendet werden.

Beispiele

Das folgende Beispiel zeigt, wie man eine Datei komprimiert.

using (var archive = new XarArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.xar");
}

XarArchive(Stream, XarLoadOptions)

Initialisiert eine neue Instanz der Aspose.Zip.Xar.XarArchive-Klasse und erstellt eine Liste von Einträgen, die aus dem Archiv extrahiert werden können.

public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)

Parameter

sourceStream Stream

Die Quelle des Archivs. Sie muss durchsuchbar sein.

loadOptions XarLoadOptions

Die Optionen zum Laden des Archivs.

Beispiele

Das folgende Beispiel zeigt, wie man alle Einträge in ein Verzeichnis extrahiert.

using (var archive = new XarArchive(File.OpenRead("archive.xar")))
{
   archive.ExtractToDirectory("C:\\extracted");
}

Bemerkungen

Dieser Konstruktor entpackt keinen Eintrag. Siehe die Methode Aspose.Zip.Xar.XarFileEntry.Open zum Entpacken.

Ausnahmen

ArgumentNullException

sourceStream ist null.

ArgumentException

sourceStream ist nicht durchsuchbar.

InvalidDataException

sourceStream ist kein gültiges xar-Archiv.

XarArchive(string, XarLoadOptions)

Initialisiert eine neue Instanz der Aspose.Zip.Xar.XarArchive-Klasse und erstellt eine Liste von Einträgen, die aus dem Archiv extrahiert werden können.

public XarArchive(string path, XarLoadOptions loadOptions = null)

Parameter

path string

Der Pfad zur Archivdatei.

loadOptions XarLoadOptions

Die Optionen zum Laden des Archivs.

Beispiele

Das folgende Beispiel zeigt, wie man alle Einträge in ein Verzeichnis extrahiert.

using (var archive = new XarArchive("archive.xar")) 
{
   archive.ExtractToDirectory("C:\\extracted");
}

Bemerkungen

Dieser Konstruktor entpackt keinen Eintrag. Siehe die Methode Aspose.Zip.Xar.XarFileEntry.Open zum Entpacken.

Ausnahmen

ArgumentNullException

path ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.

ArgumentException

Der path ist leer, enthält nur Leerzeichen oder enthält ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path ist verweigert.

PathTooLongException

Der angegebene path, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Beispielsweise müssen Pfade unter Windows weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

Die Datei am path enthält einen Doppelpunkt (:) in der Mitte der Zeichenfolge.

FileNotFoundException

Die Datei wurde nicht gefunden.

DirectoryNotFoundException

Der angegebene Pfad ist ungültig, z. B. wenn er sich auf einem nicht zugeordneten Laufwerk befindet.

IOException

Die Datei ist bereits geöffnet.

InvalidDataException

Die Datei am path ist kein gültiges xar-Archiv.

Eigenschaften

Entries

Erhält die Einträge des Typs Aspose.Zip.Xar.XarEntry, die das Archiv bilden.

public IEnumerable<xarentry> Entries { get; }

Eigenschaftswert

IEnumerable<XarEntry&gt;

Methoden

CreateEntries(string, bool, XarCompressionSettings)

Fügt dem Archiv rekursiv alle Dateien und Verzeichnisse im angegebenen Verzeichnis hinzu.

public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)

Parameter

sourceDirectory string

Verzeichnis zum Komprimieren.

includeRootDirectory bool

Gibt an, ob das Wurzelverzeichnis selbst einbezogen werden soll oder nicht.

compressionSettings XarCompressionSettings

Die Komprimierungseinstellungen, die für die hinzugefügten Aspose.Zip.Xar.XarEntry-Elemente verwendet werden.

Rückgabe

XarArchive

Xar-Eintragsinstanz.

Beispiele

using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
    using (var archive = new XarArchive())
    {
        archive.CreateEntries(@"C:\folder", false);
        archive.Save(xarFile);
    }
}

Ausnahmen

ArgumentNullException

sourceDirectory ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf sourceDirectory.

ArgumentException

sourceDirectory enthält ungültige Zeichen wie “, <, > oder |.

PathTooLongException

Der angegebene Pfad, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Beispielsweise müssen Pfade unter Windows weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein. Der angegebene Pfad, Dateiname oder beides sind zu lang.

IOException

sourceDirectory steht für eine Datei, nicht für ein Verzeichnis.

CreateEntries(DirectoryInfo, bool, XarCompressionSettings)

Fügt dem Archiv rekursiv alle Dateien und Verzeichnisse im angegebenen Verzeichnis hinzu.

public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)

Parameter

directory DirectoryInfo

Verzeichnis zum Komprimieren.

includeRootDirectory bool

Gibt an, ob das Wurzelverzeichnis selbst einbezogen werden soll oder nicht.

compressionSettings XarCompressionSettings

Die Komprimierungseinstellungen, die für die hinzugefügten Aspose.Zip.Xar.XarEntry-Elemente verwendet werden.

Rückgabe

XarArchive

Xar-Eintragsinstanz.

Beispiele

using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
    using (var archive = new XarArchive())
    {
        archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
        archive.Save(xarFile);
    }
}

Ausnahmen

ArgumentNullException

directory ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf directory.

IOException

directory steht für eine Datei, nicht für ein Verzeichnis.

CreateEntry(string, FileInfo, bool, XarCompressionSettings)

Erstellt einen einzelnen Eintrag im Archiv.

public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)

Parameter

name string

Der Name des Eintrags.

fileInfo FileInfo

Die Metadaten der Datei oder des Ordners, die komprimiert werden sollen.

openImmediately bool

Wahr, wenn die Datei sofort geöffnet werden soll, andernfalls wird die Datei beim Speichern des Archivs geöffnet.

compressionSettings XarCompressionSettings

Die Komprimierungseinstellungen, die für das hinzugefügte Aspose.Zip.Xar.XarEntry-Element verwendet werden.

Rückgabe

XarEntry

Xar-Eintragsinstanz.

Beispiele

FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
    archive.CreateEntry("test.bin", fileInfo);
    archive.Save("archive.xar");
}

Bemerkungen

Wenn die Datei sofort mit dem Parameter openImmediately geöffnet wird, bleibt sie blockiert, bis das Archiv verworfen wird.

Ausnahmen

ArgumentNullException

name ist null.

ArgumentException

name ist leer.

ArgumentNullException

fileInfo ist null.

CreateEntry(string, string, bool, XarCompressionSettings)

Erstellt einen einzelnen Eintrag im Archiv.

public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)

Parameter

name string

Der Name des Eintrags.

sourcePath string

Pfad zur Datei, die komprimiert werden soll.

openImmediately bool

Wahr, wenn die Datei sofort geöffnet werden soll, andernfalls wird die Datei beim Speichern des Archivs geöffnet.

compressionSettings XarCompressionSettings

Die Komprimierungseinstellungen, die für das hinzugefügte Aspose.Zip.Xar.XarEntry-Element verwendet werden.

Rückgabe

XarEntry

Xar-Eintragsinstanz.

Beispiele

using (var archive = new XarArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.xar");
}

Bemerkungen

Der Eintragsname wird ausschließlich im Parameter name festgelegt. Der Dateiname, der im Parameter sourcePath bereitgestellt wird, hat keinen Einfluss auf den Eintragsnamen.

Wenn die Datei sofort mit dem Parameter openImmediately geöffnet wird, bleibt sie blockiert, bis das Archiv verworfen wird.

Ausnahmen

ArgumentNullException

sourcePath ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.

ArgumentException

Der sourcePath ist leer, enthält nur Leerzeichen oder enthält ungültige Zeichen. - oder - Der Dateiname als Teil des name überschreitet 100 Symbole.

UnauthorizedAccessException

Der Zugriff auf die Datei sourcePath ist verweigert.

PathTooLongException

Der angegebene sourcePath, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Beispielsweise müssen Pfade unter Windows weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein. - oder - name ist zu lang für xar.

NotSupportedException

Die Datei am sourcePath enthält einen Doppelpunkt (:) in der Mitte der Zeichenfolge.

InvalidOperationException

Es ist unmöglich, das xar-Archiv zu ändern.

CreateEntry(string, Stream, XarCompressionSettings)

Erstellt einen einzelnen Eintrag im Archiv.

public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)

Parameter

name string

Der Name des Eintrags.

source Stream

Der Eingabestream für den Eintrag.

compressionSettings XarCompressionSettings

Die Komprimierungseinstellungen, die für das hinzugefügte Aspose.Zip.Xar.XarEntry-Element verwendet werden.

Rückgabe

XarEntry

Xar-Eintragsinstanz.

Beispiele

using (var archive = new XarArchive())
{
    archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
    archive.Save("archive.xar");
}

Ausnahmen

ArgumentNullException

name ist null.

ArgumentNullException

source ist null.

ArgumentException

name ist leer.

InvalidOperationException

Es ist unmöglich, das xar-Archiv zu ändern.

DeleteEntry(XarEntry)

Entfernt das erste Vorkommen eines bestimmten Eintrags aus der Eintragsliste.

public XarArchive DeleteEntry(XarEntry entry)

Parameter

entry XarEntry

Der Eintrag, der aus der Eintragsliste entfernt werden soll.

Rückgabe

XarArchive

Xar-Eintragsinstanz.

Beispiele

So können Sie alle Einträge außer dem letzten entfernen:

using (var archive = new XarArchive("archive.xar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries.FirstOrDefault());
    archive.Save(outputXarFile);
}

Ausnahmen

ArgumentNullException

entry ist null.

Dispose()

Führt anwendungsspezifische Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Freigeben von unmanaged Ressourcen verbunden sind.

public void Dispose()

Dispose(bool)

Führt anwendungsspezifische Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Freigeben von unmanaged Ressourcen verbunden sind.

protected virtual void Dispose(bool disposing)

Parameter

disposing bool

Ob verwaltete Ressourcen freigegeben werden sollen.

ExtractToDirectory(string)

Extrahiert alle Dateien im Archiv in das angegebene Verzeichnis.

public void ExtractToDirectory(string destinationDirectory)

Parameter

destinationDirectory string

Der Pfad zum Verzeichnis, in dem die extrahierten Dateien abgelegt werden sollen.

Beispiele

using (var archive = new XarArchive("archive.xar")) 
{
   archive.ExtractToDirectory("C:\\extracted");
}

Bemerkungen

Wenn das Verzeichnis nicht existiert, wird es erstellt.

Ausnahmen

ArgumentNullException

path ist null

PathTooLongException

Der angegebene Pfad, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Beispielsweise müssen Pfade unter Windows weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf das vorhandene Verzeichnis.

NotSupportedException

Wenn das Verzeichnis nicht existiert, enthält der Pfad ein Doppelpunktzeichen (:), das nicht Teil eines Laufwerkslabels (“C:") ist.

ArgumentException

path ist eine null-längige Zeichenfolge, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen. Sie können nach ungültigen Zeichen mit der Methode System.IO.Path.GetInvalidPathChars suchen. - oder - path ist mit einem Doppelpunktzeichen (:) vorangestellt oder enthält nur ein solches Zeichen.

IOException

Das durch den Pfad angegebene Verzeichnis ist eine Datei. - oder - Der Netzwerkname ist unbekannt.

InvalidDataException

Das Archiv ist beschädigt.

Save(string, XarSaveOptions)

Speichert das Archiv in der angegebenen Zieldatei.

public void Save(string destinationFileName, XarSaveOptions saveOptions = null)

Parameter

destinationFileName string

Der Pfad des zu erstellenden Archivs. Wenn der angegebene Dateiname auf eine vorhandene Datei verweist, wird diese überschrieben.

saveOptions XarSaveOptions

Optionen zum Speichern des xar-Archivs.

Ausnahmen

ArgumentNullException

destinationFileName ist null.

InvalidOperationException

Es ist unmöglich, das xar-Archiv zu ändern.

Save(Stream, XarSaveOptions)

Speichert das Archiv im angegebenen Stream.

public void Save(Stream output, XarSaveOptions saveOptions = null)

Parameter

output Stream

Zielstream.

saveOptions XarSaveOptions

Optionen zum Speichern des xar-Archivs.

Ausnahmen

ArgumentNullException

output ist null.

ArgumentException

output ist nicht beschreibbar/lesbar oder nicht durchsuchbar.

InvalidOperationException

Es ist unmöglich, das xar-Archiv zu ändern.

 Deutsch