Class SharArchive

Class SharArchive

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

Diese Klasse stellt eine Shar-Archivdatei dar.

public class SharArchive : IDisposable

Vererbung

objectSharArchive

Implementiert

IDisposable

Vererbte Mitglieder

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

Konstruktoren

SharArchive()

Initialisiert eine neue Instanz der Aspose.Zip.Shar.SharArchive-Klasse.

public SharArchive()

Beispiele

Das folgende Beispiel zeigt, wie man eine Datei komprimiert.

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

SharArchive(string)

Initialisiert eine neue Instanz der Aspose.Zip.Shar.SharArchive-Klasse, die zum Dekomprimieren vorbereitet ist.

public SharArchive(string path)

Parameter

path string

Pfad zur Quelle des Archivs.

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 ungültige Zeichen.

UnauthorizedAccessException

Zugriff auf die Datei path ist verweigert.

PathTooLongException

Der angegebene path, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Zum Beispiel müssen Pfade auf Windows-basierten Plattformen weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

Die Datei unter path enthält einen Doppelpunkt (:) in der Mitte des Strings.

FileNotFoundException

Die Datei wurde nicht gefunden.

DirectoryNotFoundException

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

IOException

Die Datei ist bereits geöffnet.

Eigenschaften

Entries

Erhält die Einträge des Typs Aspose.Zip.Shar.SharEntry, die das Archiv bilden.

public ReadOnlyCollection<sharentry> Entries { get; }

Eigenschaftswert

ReadOnlyCollection<SharEntry&gt;

Methoden

CreateEntries(string, bool)

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

public SharArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Parameter

sourceDirectory string

Verzeichnis zum Komprimieren.

includeRootDirectory bool

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

Rückgabewert

SharArchive

Instanz des Shar-Eintrags.

Beispiele

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries("C:\folder", false);
        archive.Save(sharFile);
    }
}

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. Zum Beispiel müssen Pfade auf Windows-basierten Plattformen 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)

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

public SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parameter

directory DirectoryInfo

Verzeichnis zum Komprimieren.

includeRootDirectory bool

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

Rückgabewert

SharArchive

Instanz des Shar-Eintrags.

Beispiele

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
        archive.Save(sharFile);
    }
}

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)

Erstellt einen einzelnen Eintrag innerhalb des Archivs.

public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)

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.

Rückgabewert

SharEntry

Instanz des Shar-Eintrags.

Beispiele

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

Bemerkungen

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

Ausnahmen

ArgumentNullException

name ist null.

ArgumentException

name ist leer.

ArgumentNullException

fileInfo ist null.

CreateEntry(string, string, bool)

Erstellt einen einzelnen Eintrag innerhalb des Archivs.

public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

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.

Rückgabewert

SharEntry

Instanz des Shar-Eintrags.

Beispiele

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

Bemerkungen

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

Wenn die Datei sofort mit dem Parameter openImmediately geöffnet wird, bleibt sie blockiert, bis das Archiv freigegeben 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 ungültige Zeichen. - oder - Der Dateiname, der Teil von name ist, überschreitet 100 Zeichen.

UnauthorizedAccessException

Zugriff auf die Datei sourcePath ist verweigert.

PathTooLongException

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

NotSupportedException

Die Datei unter sourcePath enthält einen Doppelpunkt (:) in der Mitte des Strings.

CreateEntry(string, Stream)

Erstellt einen einzelnen Eintrag innerhalb des Archivs.

public SharEntry CreateEntry(string name, Stream source)

Parameter

name string

Der Name des Eintrags.

source Stream

Der Eingabestream für den Eintrag.

Rückgabewert

SharEntry

Instanz des Shar-Eintrags.

Beispiele

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

Ausnahmen

ArgumentNullException

name ist null.

ArgumentNullException

source ist null.

ArgumentException

name ist leer.

DeleteEntry(SharEntry)

Entfernt das erste Vorkommen eines bestimmten Eintrags aus der Eintragsliste.

public SharArchive DeleteEntry(SharEntry entry)

Parameter

entry SharEntry

Der Eintrag, der aus der Eintragsliste entfernt werden soll.

Rückgabewert

SharArchive

Instanz des Shar-Eintrags.

Beispiele

Hier ist, wie Sie alle Einträge außer dem letzten entfernen können:

using (var archive = new SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

Ausnahmen

ArgumentNullException

entry ist null.

DeleteEntry(int)

Entfernt den Eintrag aus der Eintragsliste nach Index.

public SharArchive DeleteEntry(int entryIndex)

Parameter

entryIndex int

Der nullbasierte Index des zu entfernenden Eintrags.

Rückgabewert

SharArchive

Das Archiv mit dem gelöschten Eintrag.

Beispiele

using (var archive = new SharArchive("two_files.shar"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.shar");
}

Ausnahmen

ArgumentOutOfRangeException

entryIndex ist kleiner als 0. - oder - entryIndex ist gleich oder größer als Entries Anzahl.

Dispose(bool)

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

protected virtual void Dispose(bool disposing)

Parameter

disposing bool

Ob verwaltete Ressourcen freigegeben werden sollen.

Dispose()

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

public void Dispose()

Save(string)

Speichert das Archiv in der angegebenen Zieldatei.

public void Save(string destinationFileName)

Parameter

destinationFileName string

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

Beispiele

using (var archive = new SharArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.shar");
}

Bemerkungen

Es ist möglich, ein Archiv im gleichen Pfad zu speichern, von dem es geladen wurde. Dies wird jedoch nicht empfohlen, da dieser Ansatz das Kopieren in eine temporäre Datei verwendet.

Ausnahmen

ArgumentException

destinationFileName ist eine Nullzeichenfolge, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen, wie sie von System.IO.Path.InvalidPathChars definiert sind.

ArgumentNullException

destinationFileName ist null.

PathTooLongException

Der angegebene destinationFileName, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Zum Beispiel müssen Pfade auf Windows-basierten Plattformen weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

DirectoryNotFoundException

Der angegebene destinationFileName ist ungültig, (z. B. weil er sich auf einem nicht zugeordneten Laufwerk befindet).

IOException

Ein I/O-Fehler ist aufgetreten, während die Datei geöffnet wurde.

UnauthorizedAccessException

destinationFileName gibt eine schreibgeschützte Datei an und der Zugriff ist nicht schreibbar. - oder - Der angegebene Pfad ist ein Verzeichnis. - oder - Der Aufrufer hat nicht die erforderliche Berechtigung.

NotSupportedException

destinationFileName hat ein ungültiges Format.

FileNotFoundException

Die Datei wurde nicht gefunden.

Save(Stream)

Speichert das Archiv im angegebenen Stream.

public void Save(Stream output)

Parameter

output Stream

Zielstream.

Beispiele

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

Bemerkungen

output muss beschreibbar sein.

Ausnahmen

ArgumentNullException

output ist null.

ArgumentException

output ist nicht beschreibbar. - oder - output ist der gleiche Stream, von dem wir extrahieren.

 Deutsch