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
Implementuje
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
path
je null.
Volající nemá požadované oprávnění pro přístup.
path
je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky.
Přístup k souboru path
je odepřen.
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ů.
Soubor na path
obsahuje dvojtečku (:) uprostřed řetězce.
Soubor nebyl nalezen.
Zadaná cesta je neplatná, například je na nepřiřazeném disku.
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>
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
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
sourceDirectory
je null.
Volající nemá požadované oprávnění pro přístup k sourceDirectory
.
sourceDirectory
obsahuje neplatné znaky, jako “, <, > nebo |.
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é.
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
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
directory
je null.
Volající nemá požadované oprávnění pro přístup k directory
.
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
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
name
je null.
name
je prázdný.
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
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
sourcePath
je null.
Volající nemá požadované oprávnění pro přístup.
sourcePath
je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky. - nebo - Název souboru, jako část name
, přesahuje 100 symbolů.
Přístup k souboru sourcePath
je odepřen.
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.
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
Instance SharEntry.
Příklady
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
Výjimky
name
je null.
source
je null.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Výjimky
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
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
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
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.
destinationFileName
je null.
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ů.
Zadaný destinationFileName
je neplatný, (například je na nepřiřazeném disku).
Při otevírání souboru došlo k chybě I/O.
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í.
destinationFileName
je v neplatném formátu.
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
output
je null.
output
není zapisovatelný. - nebo - output
je stejný proud, ze kterého extrahujeme.