Class SharArchive

Class SharArchive

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

Tato třída představuje archivní soubor shar.

public class SharArchive : IDisposable

Dědičnost

objectSharArchive

Implementuje

IDisposable

Děděné členy

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

Konstruktor

SharArchive()

Inicializuje novou instanci třídy Aspose.Zip.Shar.SharArchive.

public SharArchive()

Příklady

Následující příklad ukazuje, jak komprimovat soubor.

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

SharArchive(string)

Inicializuje novou instanci třídy Aspose.Zip.Shar.SharArchive připravenou pro dekompresi.

public SharArchive(string path)

Parametry

path string

Cesta k zdroji archivu.

Výjimky

ArgumentNullException

path je null.

SecurityException

Volající nemá požadované oprávnění pro přístup.

ArgumentException

path je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru path je odepřen.

PathTooLongException

Zadaný path, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.

NotSupportedException

Soubor na path obsahuje dvojtečku (:) uprostřed řetězce.

FileNotFoundException

Soubor nebyl nalezen.

DirectoryNotFoundException

Zadaná cesta je neplatná, například je na nepřiřazeném disku.

IOException

Soubor je již otevřen.

Vlastnosti

Entries

Získá položky typu Aspose.Zip.Shar.SharEntry, které tvoří archiv.

public ReadOnlyCollection<sharentry> Entries { get; }

Hodnota vlastnosti

ReadOnlyCollection<SharEntry&gt;

Metody

CreateEntries(string, bool)

Přidá do archivu všechny soubory a adresáře rekurzivně v daném adresáři.

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

Parametry

sourceDirectory string

Adresář k zkomprimování.

includeRootDirectory bool

Určuje, zda zahrnout kořenový adresář samotný nebo ne.

Návratová hodnota

SharArchive

Instance SharEntry.

Příklady

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

Výjimky

ArgumentNullException

sourceDirectory je null.

SecurityException

Volající nemá požadované oprávnění pro přístup k sourceDirectory.

ArgumentException

sourceDirectory obsahuje neplatné znaky, jako “, <, > nebo |.

PathTooLongException

Zadaná cesta, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků. Zadaná cesta, název souboru nebo obojí jsou příliš dlouhé.

IOException

sourceDirectory představuje soubor, nikoli adresář.

CreateEntries(DirectoryInfo, bool)

Přidá do archivu všechny soubory a adresáře rekurzivně v daném adresáři.

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

Parametry

directory DirectoryInfo

Adresář k zkomprimování.

includeRootDirectory bool

Určuje, zda zahrnout kořenový adresář samotný nebo ne.

Návratová hodnota

SharArchive

Instance SharEntry.

Příklady

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

Výjimky

ArgumentNullException

directory je null.

SecurityException

Volající nemá požadované oprávnění pro přístup k directory.

IOException

directory představuje soubor, nikoli adresář.

CreateEntry(string, FileInfo, bool)

Vytvoří jednotlivý záznam v archivu.

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

Parametry

name string

Název záznamu.

fileInfo FileInfo

Metadata souboru nebo složky, která má být zkomprimována.

openImmediately bool

True, pokud otevřít soubor okamžitě, jinak otevřít soubor při ukládání archivu.

Návratová hodnota

SharEntry

Instance SharEntry.

Příklady

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

Poznámky

Pokud je soubor otevřen okamžitě s parametrem openImmediately, zůstává zablokován, dokud není archiv uvolněn.

Výjimky

ArgumentNullException

name je null.

ArgumentException

name je prázdný.

ArgumentNullException

fileInfo je null.

CreateEntry(string, string, bool)

Vytvoří jednotlivý záznam v archivu.

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

Parametry

name string

Název záznamu.

sourcePath string

Cesta k souboru, který má být zkomprimován.

openImmediately bool

True, pokud otevřít soubor okamžitě, jinak otevřít soubor při ukládání archivu.

Návratová hodnota

SharEntry

Instance SharEntry.

Příklady

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

Poznámky

Název záznamu je nastaven pouze v parametru name. Název souboru uvedený v parametru sourcePath nemá vliv na název záznamu.

Pokud je soubor otevřen okamžitě s parametrem openImmediately, zůstává zablokován, dokud není archiv uvolněn.

Výjimky

ArgumentNullException

sourcePath je null.

SecurityException

Volající nemá požadované oprávnění pro přístup.

ArgumentException

sourcePath je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky. - nebo - Název souboru, jako část name, přesahuje 100 symbolů.

UnauthorizedAccessException

Přístup k souboru sourcePath je odepřen.

PathTooLongException

Zadaný sourcePath, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků. - nebo - name je příliš dlouhý pro shar.

NotSupportedException

Soubor na sourcePath obsahuje dvojtečku (:) uprostřed řetězce.

CreateEntry(string, Stream)

Vytvoří jednotlivý záznam v archivu.

public SharEntry CreateEntry(string name, Stream source)

Parametry

name string

Název záznamu.

source Stream

Vstupní proud pro záznam.

Návratová hodnota

SharEntry

Instance SharEntry.

Příklady

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

Výjimky

ArgumentNullException

name je null.

ArgumentNullException

source je null.

ArgumentException

name je prázdný.

DeleteEntry(SharEntry)

Odstraní první výskyt konkrétního záznamu ze seznamu záznamů.

public SharArchive DeleteEntry(SharEntry entry)

Parametry

entry SharEntry

Záznam, který má být odstraněn ze seznamu záznamů.

Návratová hodnota

SharArchive

Instance SharEntry.

Příklady

Zde je, jak můžete odstranit všechny záznamy kromě posledního:

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

Výjimky

ArgumentNullException

entry je null.

DeleteEntry(int)

Odstraní záznam ze seznamu záznamů podle indexu.

public SharArchive DeleteEntry(int entryIndex)

Parametry

entryIndex int

Nula-založený index záznamu, který má být odstraněn.

Návratová hodnota

SharArchive

Archiv se záznamem odstraněným.

Příklady

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

Výjimky

ArgumentOutOfRangeException

entryIndex je menší než 0.-nebo- entryIndex je rovno nebo větší než Entries počet.

Dispose(bool)

Provádí úkoly definované aplikací spojené s uvolněním, uvolněním nebo resetováním neřízených prostředků.

protected virtual void Dispose(bool disposing)

Parametry

disposing bool

Zda by měly být uvolněny řízené prostředky.

Dispose()

Provádí úkoly definované aplikací spojené s uvolněním, uvolněním nebo resetováním neřízených prostředků.

public void Dispose()

Save(string)

Uloží archiv do zadaného cílového souboru.

public void Save(string destinationFileName)

Parametry

destinationFileName string

Cesta archivu, který má být vytvořen. Pokud zadaný název souboru odkazuje na existující soubor, bude přepsán.

Příklady

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

Poznámky

Je možné uložit archiv na stejnou cestu, ze které byl načten. Nicméně to se nedoporučuje, protože tento přístup používá kopírování do dočasného souboru.

Výjimky

ArgumentException

destinationFileName je řetězec s nulovou délkou, obsahuje pouze bílé znaky nebo obsahuje jeden nebo více neplatných znaků, jak je definováno v System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName je null.

PathTooLongException

Zadaný destinationFileName, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.

DirectoryNotFoundException

Zadaný destinationFileName je neplatný, (například je na nepřiřazeném disku).

IOException

Při otevírání souboru došlo k chybě I/O.

UnauthorizedAccessException

destinationFileName určuje soubor, který je pouze pro čtení, a přístup není povolen. -nebo- cesta určuje adresář. -nebo- Volající nemá požadované oprávnění.

NotSupportedException

destinationFileName je v neplatném formátu.

FileNotFoundException

Soubor nebyl nalezen.

Save(Stream)

Uloží archiv do zadaného proudu.

public void Save(Stream output)

Parametry

output Stream

Cílový proud.

Příklady

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

Poznámky

output musí být zapisovatelný.

Výjimky

ArgumentNullException

output je null.

ArgumentException

output není zapisovatelný. - nebo - output je stejný proud, ze kterého extrahujeme.

 Čeština