Class CpioArchive

Class CpioArchive

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

Tato třída představuje cpio archivační soubor.

public class CpioArchive : IArchive, IDisposable

Dědičnost

objectCpioArchive

Implementuje

IArchive, 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

CpioArchive()

Inicializuje novou instanci třídy Aspose.Zip.Cpio.CpioArchive.

public CpioArchive()

Příklady

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

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

CpioArchive(Stream)

Inicializuje novou instanci třídy Aspose.Zip.Cpio.CpioArchive a vytváří seznam položek, které lze extrahovat z archivu.

public CpioArchive(Stream sourceStream)

Parametry

sourceStream Stream

Zdroj archivu. Musí být vyhledatelný.

Příklady

Následující příklad ukazuje, jak extrahovat všechny položky do adresáře.

using (var archive = new CpioArchive(File.OpenRead("archive.cpio")))
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Poznámky

Tento konstruktor nevybalí žádnou položku. Viz metoda Aspose.Zip.Cpio.CpioEntry.Open pro vybalení.

Výjimky

ArgumentNullException

sourceStream je null.

ArgumentException

sourceStream není vyhledatelný.

InvalidDataException

sourceStream není platný cpio archiv.

CpioArchive(string)

Inicializuje novou instanci třídy Aspose.Zip.Cpio.CpioArchive a vytváří seznam položek, které lze extrahovat z archivu.

public CpioArchive(string path)

Parametry

path string

Cesta k archivačnímu souboru.

Příklady

Následující příklad ukazuje, jak extrahovat všechny položky do adresáře.

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Poznámky

Tento konstruktor nevybalí žádnou položku. Viz metoda Aspose.Zip.Cpio.CpioEntry.Open pro vybalení.

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 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řipojeném disku.

IOException

Soubor je již otevřen.

Vlastnosti

Entries

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

public ReadOnlyCollection<cpioentry> Entries { get; }

Hodnota vlastnosti

ReadOnlyCollection<CpioEntry&gt;

Metody

CreateEntries(string, bool)

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

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

Parametry

sourceDirectory string

Adresář k zkomprimování.

includeRootDirectory bool

Indikuje, zda zahrnout kořenový adresář nebo ne.

Vrací

CpioArchive

Instanci položky Cpio.

Příklady

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

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 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 CpioArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parametry

directory DirectoryInfo

Adresář k zkomprimování.

includeRootDirectory bool

Indikuje, zda zahrnout kořenový adresář nebo ne.

Vrací

CpioArchive

Instanci položky Cpio.

Příklady

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

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ří jednotlivou položku v archivu.

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

Parametry

name string

Název položky.

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.

Vrací

CpioEntry

Instanci položky Cpio.

Příklady

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

Poznámky

Pokud je soubor otevřen okamžitě s parametrem openImmediately, zůstane 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ří jednotlivou položku v archivu.

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

Parametry

name string

Název položky.

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.

Vrací

CpioEntry

Instanci položky Cpio.

Příklady

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

Poznámky

Název položky je nastaven pouze v parametru name. Název souboru uvedený 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 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 součá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 Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků. - nebo - name je příliš dlouhé pro cpio.

NotSupportedException

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

CreateEntry(string, Stream)

Vytvoří jednotlivou položku v archivu.

public CpioEntry CreateEntry(string name, Stream source)

Parametry

name string

Název položky.

source Stream

Vstupní proud pro položku.

Vrací

CpioEntry

Instanci položky Cpio.

Příklady

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

Výjimky

ArgumentNullException

name je null.

ArgumentNullException

source je null.

ArgumentException

name je prázdný.

DeleteEntry(CpioEntry)

Odstraní první výskyt konkrétní položky ze seznamu položek.

public CpioArchive DeleteEntry(CpioEntry entry)

Parametry

entry CpioEntry

Položka, kterou je třeba odstranit ze seznamu položek.

Vrací

CpioArchive

Instanci položky Cpio.

Příklady

Zde je, jak můžete odstranit všechny položky kromě poslední:

using (var archive = new CpioArchive("archive.cpio"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputCpioFile);
}

Výjimky

ArgumentNullException

entry je null.

DeleteEntry(int)

Odstraní položku ze seznamu položek podle indexu.

public CpioArchive DeleteEntry(int entryIndex)

Parametry

entryIndex int

Nula-číslený index položky, kterou je třeba odstranit.

Vrací

CpioArchive

Archiv s odstraněnou položkou.

Příklady

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

Výjimky

ArgumentOutOfRangeException

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

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 řízené prostředky.

ExtractToDirectory(string)

Extrahuje všechny soubory v archivu do zadané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 CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Poznámky

Pokud adresář neexistuje, bude vytvořen.

Výjimky

ArgumentNullException

cesta je null

PathTooLongException

Zadaná 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ů.

SecurityException

Volající nemá požadovaná oprávnění pro přístup k existujícímu adresáři.

NotSupportedException

Pokud adresář neexistuje, cesta obsahuje znak dvojtečky (:) který není součástí označení disku (“C:").

ArgumentException

cesta je nulový řetězec, obsahuje pouze bílé znaky nebo obsahuje jeden nebo více neplatných znaků. Neplatné znaky můžete zjistit pomocí metody System.IO.Path.GetInvalidPathChars. - nebo - cesta je předpona, nebo obsahuje pouze znak dvojtečky (:).

IOException

Adresář určený cestou je soubor. - nebo - Síťový název není znám.

Save(string, CpioFormat)

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

public void Save(string destinationFileName, CpioFormat cpioFormat = CpioFormat.OldAscii)

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.

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

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

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 nulový řetězec, obsahuje pouze bílé znaky nebo obsahuje jeden nebo více neplatných znaků definovaných systémem 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 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řipojeném disku).

IOException

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

UnauthorizedAccessException

destinationFileName určil 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 ve neplatném formátu.

Save(Stream, CpioFormat)

Uloží archiv do poskytnutého proudu.

public void Save(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

output Stream

Cílový proud.

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(cpioFile);
    }
}

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. - NEBO - Uložení archivu v cpioFormat není možné z důvodu formátových omezení.

SaveGzipped(Stream, CpioFormat)

Uloží archiv do proudu s gzip kompresí.

public void SaveGzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

output Stream

Cílový proud.

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream result = File.OpenWrite("result.cpio.gz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

Poznámky

output musí být zapisovatelný.

Výjimky

ArgumentNullException

output je null.

ArgumentException

output není zapisovatelný.

SaveGzipped(string, CpioFormat)

Uloží archiv do souboru podle cesty s gzip kompresí.

public void SaveGzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

path string

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

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.gz");
    }
}

SaveLZMACompressed(Stream, CpioFormat)

Uloží archiv do proudu s LZMA kompresí.

public void SaveLZMACompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

output Stream

Cílový proud.

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream result = File.OpenWrite("result.cpio.lzma"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveLZMACompressed(result);
        }
    }
}

Poznámky

output musí být zapisovatelný.

Důležité: cpio archiv je složen a poté komprimován v této metodě, jeho obsah je uchováván interně. Dávejte pozor na spotřebu paměti.

SaveLZMACompressed(string, CpioFormat)

Uloží archiv do souboru podle cesty s lzma kompresí.

public void SaveLZMACompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

path string

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

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveLZMACompressed("result.cpio.lzma");
    }
}

Poznámky

Důležité: cpio archiv je složen a poté komprimován v této metodě, jeho obsah je uchováván interně. Dávejte pozor na spotřebu paměti.

SaveLzipped(Stream, CpioFormat)

Uloží archiv do proudu s lzip kompresí.

public void SaveLzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

output Stream

Cílový proud.

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream result = File.OpenWrite("result.cpio.lz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

Poznámky

output musí být zapisovatelný.

Výjimky

ArgumentNullException

output je null.

ArgumentException

output není zapisovatelný.

SaveLzipped(string, CpioFormat)

Uloží archiv do souboru podle cesty s lzip kompresí.

public void SaveLzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

path string

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

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.lz");
    }
}

SaveXzCompressed(Stream, CpioFormat, XzArchiveSettings)

Uloží archiv do proudu s xz kompresí.

public void SaveXzCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

Parametry

output Stream

Cílový proud.

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

settings XzArchiveSettings

Sada nastavení konkrétní xz archivu: velikost slovníku, velikost bloku, typ kontroly.

Příklady

using (FileStream result = File.OpenWrite("result.cpio.xz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveXzCompressed(result);
        }
    }
}

Poznámky

output musí být zapisovatelný.

Výjimky

ArgumentNullException

output je null.

ArgumentException

output není zapisovatelný.

SaveXzCompressed(string, CpioFormat, XzArchiveSettings)

Uloží archiv do cesty podle cesty s xz kompresí.

public void SaveXzCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

Parametry

path string

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

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

settings XzArchiveSettings

Sada nastavení konkrétní xz archivu: velikost slovníku, velikost bloku, typ kontroly.

Příklady

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveXzCompressed("result.cpio.xz");
    }
}

SaveZCompressed(Stream, CpioFormat)

Uloží archiv do proudu s Z kompresí.

public void SaveZCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

output Stream

Cílový proud.

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream result = File.OpenWrite("result.cpio.Z"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZCompressed(result);
        }
    }
}

Poznámky

output musí být zapisovatelný.

Výjimky

ArgumentNullException

output je null.

ArgumentException

output není zapisovatelný.

SaveZCompressed(string, CpioFormat)

Uloží archiv do cesty podle cesty s Z kompresí.

public void SaveZCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

path string

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

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZCompressed("result.cpio.Z");
    }
}

SaveZstandard(Stream, CpioFormat)

Uloží archiv do proudu s Zstandard kompresí.

public void SaveZstandard(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

output Stream

Cílový proud.

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream result = File.OpenWrite("result.cpio.zst"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZstandard(result);
        }
    }
}

Poznámky

output musí být zapisovatelný.

Výjimky

ArgumentNullException

output je null.

ArgumentException

output není zapisovatelný.

SaveZstandard(string, CpioFormat)

Uloží archiv do souboru podle cesty s Zstandard kompresí.

public void SaveZstandard(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametry

path string

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

cpioFormat CpioFormat

Definuje formát hlavičky cpio.

Příklady

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZstandard("result.cpio.zst");
    }
}
 Čeština