Class XarArchive
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Tato třída představuje archivní soubor xar.
public class XarArchive : IArchive, 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
XarArchive(XarCompressionSettings)
Inicializuje novou instanci třídy Aspose.Zip.Xar.XarArchive.
public XarArchive(XarCompressionSettings defaultCompressionSettings = null)
Parametry
defaultCompressionSettings
XarCompressionSettings
Výchozí nastavení komprese, aplikovaná na všechny položky archivu.
Příklady
Následující příklad ukazuje, jak komprimovat soubor.
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
XarArchive(Stream, XarLoadOptions)
Inicializuje novou instanci třídy Aspose.Zip.Xar.XarArchive a vytváří seznam položek, které lze extrahovat z archivu.
public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)
Parametry
sourceStream
Stream
Zdrojem archivu. Musí být možné procházet.
loadOptions
XarLoadOptions
Možnosti pro načtení archivu.
Příklady
Následující příklad ukazuje, jak extrahovat všechny položky do adresáře.
using (var archive = new XarArchive(File.OpenRead("archive.xar")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Poznámky
Tento konstruktor nevybalí žádnou položku. Viz metoda Aspose.Zip.Xar.XarFileEntry.Open pro vybalení.
Výjimky
sourceStream
je null.
sourceStream
není možné procházet.
sourceStream
není platný archiv xar.
XarArchive(string, XarLoadOptions)
Inicializuje novou instanci třídy Aspose.Zip.Xar.XarArchive a vytváří seznam položek, které lze extrahovat z archivu.
public XarArchive(string path, XarLoadOptions loadOptions = null)
Parametry
path
string
Cesta k archivnímu souboru.
loadOptions
XarLoadOptions
Možnosti pro načtení archivu.
Příklady
Následující příklad ukazuje, jak extrahovat všechny položky do adresáře.
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Poznámky
Tento konstruktor nevybalí žádnou položku. Viz metoda Aspose.Zip.Xar.XarFileEntry.Open pro vybalení.
Výjimky
path
je null.
Volající nemá potřebná 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.
Určená path
, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách 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.
Určená cesta je neplatná, například se nachází na nemapované jednotce.
Soubor je již otevřen.
Soubor na path
není platný archiv xar.
Vlastnosti
Entries
Získá položky typu Aspose.Zip.Xar.XarEntry, které tvoří archiv.
public IEnumerable<xarentry> Entries { get; }
Hodnota vlastnosti
IEnumerable<XarEntry>
Metody
CreateEntries(string, bool, XarCompressionSettings)
Přidá do archivu všechny soubory a adresáře rekurzivně v daném adresáři.
public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Parametry
sourceDirectory
string
Adresář k komprimaci.
includeRootDirectory
bool
Určuje, zda zahrnout samotný kořenový adresář nebo ne.
compressionSettings
XarCompressionSettings
Nastavení komprese použité pro přidané položky Aspose.Zip.Xar.XarEntry.
Vrací
Instanci položky Xar.
Příklady
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(@"C:\folder", false);
archive.Save(xarFile);
}
}
Výjimky
sourceDirectory
je null.
Volající nemá potřebná oprávnění pro přístup k sourceDirectory
.
sourceDirectory
obsahuje neplatné znaky, jako jsou “, <, > nebo |.
Určená cesta, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků. Určená cesta, název souboru nebo obojí jsou příliš dlouhé.
sourceDirectory
představuje soubor, nikoli adresář.
CreateEntries(DirectoryInfo, bool, XarCompressionSettings)
Přidá do archivu všechny soubory a adresáře rekurzivně v daném adresáři.
public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Parametry
directory
DirectoryInfo
Adresář k komprimaci.
includeRootDirectory
bool
Určuje, zda zahrnout samotný kořenový adresář nebo ne.
compressionSettings
XarCompressionSettings
Nastavení komprese použité pro přidané položky Aspose.Zip.Xar.XarEntry.
Vrací
Instanci položky Xar.
Příklady
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
archive.Save(xarFile);
}
}
Výjimky
directory
je null.
Volající nemá potřebná oprávnění pro přístup k directory
.
directory
představuje soubor, nikoli adresář.
CreateEntry(string, FileInfo, bool, XarCompressionSettings)
Vytvoří jednotlivou položku v archivu.
public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Parametry
name
string
Název položky.
fileInfo
FileInfo
Metadata souboru nebo složky, která má být komprimována.
openImmediately
bool
True, pokud se má soubor otevřít okamžitě, jinak se otevře soubor při ukládání archivu.
compressionSettings
XarCompressionSettings
Nastavení komprese použité pro přidanou položku Aspose.Zip.Xar.XarEntry.
Vrací
Instanci položky Xar.
Příklady
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.xar");
}
Poznámky
Pokud je soubor otevřen okamžitě s parametrem openImmediately
, zůstane zablokován, dokud nebude archiv uvolněn.
Výjimky
name
je null.
name
je prázdný.
fileInfo
je null.
CreateEntry(string, string, bool, XarCompressionSettings)
Vytvoří jednotlivou položku v archivu.
public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Parametry
name
string
Název položky.
sourcePath
string
Cesta k souboru, který má být komprimován.
openImmediately
bool
True, pokud se má soubor otevřít okamžitě, jinak se otevře soubor při ukládání archivu.
compressionSettings
XarCompressionSettings
Nastavení komprese použité pro přidanou položku Aspose.Zip.Xar.XarEntry.
Vrací
Instanci položky Xar.
Příklady
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
Poznámky
Název položky je nastaven pouze v parametru name
. Název souboru poskytnutý v parametru sourcePath
nemá vliv na název položky.
Pokud je soubor otevřen okamžitě s parametrem openImmediately
, zůstane zablokován, dokud nebude archiv uvolněn.
Výjimky
sourcePath
je null.
Volající nemá potřebná oprávnění pro přístup.
sourcePath
je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky. - nebo - Název souboru, jako součást name
, překračuje 100 symbolů.
Přístup k souboru sourcePath
je odepřen.
Určená sourcePath
, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků. - nebo - name
je příliš dlouhé pro xar.
Soubor na sourcePath
obsahuje dvojtečku (:) uprostřed řetězce.
Není možné upravit archiv xar.
CreateEntry(string, Stream, XarCompressionSettings)
Vytvoří jednotlivou položku v archivu.
public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)
Parametry
name
string
Název položky.
source
Stream
Vstupní proud pro položku.
compressionSettings
XarCompressionSettings
Nastavení komprese použité pro přidanou položku Aspose.Zip.Xar.XarEntry.
Vrací
Instanci položky Xar.
Příklady
using (var archive = new XarArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.xar");
}
Výjimky
name
je null.
source
je null.
name
je prázdný.
Není možné upravit archiv xar.
DeleteEntry(XarEntry)
Odstraní první výskyt konkrétní položky ze seznamu položek.
public XarArchive DeleteEntry(XarEntry entry)
Parametry
entry
XarEntry
Položka, kterou je třeba odstranit ze seznamu položek.
Vrací
Instanci položky Xar.
Příklady
Zde je, jak můžete odstranit všechny položky kromě poslední:
using (var archive = new XarArchive("archive.xar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries.FirstOrDefault());
archive.Save(outputXarFile);
}
Výjimky
entry
je null.
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()
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 spravované prostředky.
ExtractToDirectory(string)
Extrahuje všechny soubory v archivu do poskytnutého adresáře.
public void ExtractToDirectory(string destinationDirectory)
Parametry
destinationDirectory
string
Cesta k adresáři, do kterého budou umístěny extrahované soubory.
Příklady
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Poznámky
Pokud adresář neexistuje, bude vytvořen.
Výjimky
cesta je null
Určená cesta, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.
Volající nemá potřebná oprávnění pro přístup k existujícímu adresáři.
Pokud adresář neexistuje, cesta obsahuje znak dvojtečky (:) , který není součástí označení jednotky (“C:").
cesta je řetězec o nulové délce, obsahuje pouze bílé znaky nebo obsahuje jeden nebo více neplatných znaků. Neplatné znaky můžete dotazovat pomocí metody System.IO.Path.GetInvalidPathChars. - nebo - cesta je předponová, nebo obsahuje pouze znak dvojtečky (:).
Adresář určený cestou je soubor. - nebo - Síťové jméno není známo.
Archiv je poškozen.
Save(string, XarSaveOptions)
Uloží archiv do zadaného cílového souboru.
public void Save(string destinationFileName, XarSaveOptions saveOptions = null)
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.
saveOptions
XarSaveOptions
Možnosti pro uložení archivu xar.
Výjimky
destinationFileName
je null.
Není možné upravit archiv xar.
Save(Stream, XarSaveOptions)
Uloží archiv do poskytnutého proudu.
public void Save(Stream output, XarSaveOptions saveOptions = null)
Parametry
output
Stream
Cílový proud.
saveOptions
XarSaveOptions
Možnosti pro uložení archivu xar.
Výjimky
output
je null.
output
není zapisovatelný/čitatelný nebo není možné procházet.
Není možné upravit archiv xar.