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
Implementiert
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
sourceStream
ist null.
sourceStream
ist nicht durchsuchbar.
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
path
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.
Der path
ist leer, enthält nur Leerzeichen oder enthält ungültige Zeichen.
Der Zugriff auf die Datei path
ist verweigert.
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.
Die Datei am path
enthält einen Doppelpunkt (:) in der Mitte der Zeichenfolge.
Die Datei wurde nicht gefunden.
Der angegebene Pfad ist ungültig, z. B. wenn er sich auf einem nicht zugeordneten Laufwerk befindet.
Die Datei ist bereits geöffnet.
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>
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
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
sourceDirectory
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf sourceDirectory
.
sourceDirectory
enthält ungültige Zeichen wie “, <, > oder |.
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.
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
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
directory
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf directory
.
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
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
name
ist null.
name
ist leer.
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
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
sourcePath
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.
Der sourcePath
ist leer, enthält nur Leerzeichen oder enthält ungültige Zeichen. - oder - Der Dateiname als Teil des name
überschreitet 100 Symbole.
Der Zugriff auf die Datei sourcePath
ist verweigert.
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.
Die Datei am sourcePath
enthält einen Doppelpunkt (:) in der Mitte der Zeichenfolge.
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
Xar-Eintragsinstanz.
Beispiele
using (var archive = new XarArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.xar");
}
Ausnahmen
name
ist null.
source
ist null.
name
ist leer.
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
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 > 1)
archive.DeleteEntry(archive.Entries.FirstOrDefault());
archive.Save(outputXarFile);
}
Ausnahmen
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
path ist null
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 Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf das vorhandene Verzeichnis.
Wenn das Verzeichnis nicht existiert, enthält der Pfad ein Doppelpunktzeichen (:), das nicht Teil eines Laufwerkslabels (“C:") ist.
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.
Das durch den Pfad angegebene Verzeichnis ist eine Datei. - oder - Der Netzwerkname ist unbekannt.
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
destinationFileName
ist null.
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
output
ist null.
output
ist nicht beschreibbar/lesbar oder nicht durchsuchbar.
Es ist unmöglich, das xar-Archiv zu ändern.