Class CpioArchive

Class CpioArchive

Nazwa przestrzeń: Aspose.Zip.Cpio Zestawienie: Aspose.Zip.dll (25.5.0)

Ta klasa reprezentuje plik archiwum cpio.

public class CpioArchive : IArchive, IDisposable

Inheritance

object CpioArchive

Implements

IArchive , IDisposable

Dziedziczeni członkowie

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

Constructors

CpioArchive()

Inicjalizuje nową instancję klasy Aspose.Zip.Cpio.CpioArchive.

public CpioArchive()

Examples

Poniższy przykład pokazuje, jak kompresować plik.

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

CpioArchive(Stream)

Inicjalizuje nową instancję klasy Aspose.Zip.Cpio.CpioArchive i tworzy listę wpisów, które można wyciągnąć z archiwum.

public CpioArchive(Stream sourceStream)

Parameters

sourceStream Stream

Źródło archiwum - musi być wyszukiwane.

Examples

Poniższy przykład pokazuje, jak wyciągnąć wszystkie wpisy do katalogu.

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

Remarks

Konstruktor ten nie odpakuje żadnych wpisów. zobacz Aspose.Zip.Cpio.CpioEntry.Otwarta metoda do odpakowania.

Exceptions

ArgumentNullException

sourceStream’ is null.

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

sourceStream’ is not valid cpio archive.

CpioArchive(strumień)

Inicjalizuje nową instancję klasy Aspose.Zip.Cpio.CpioArchive i tworzy listę wpisów, które można wyciągnąć z archiwum.

public CpioArchive(string path)

Parameters

path string

Droga do archiwum.

Examples

Poniższy przykład pokazuje, jak wyciągnąć wszystkie wpisy do katalogu.

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

Remarks

Konstruktor ten nie odpakuje żadnych wpisów. zobacz Aspose.Zip.Cpio.CpioEntry.Otwarta metoda do odpakowania.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Klient nie posiada wymaganego zezwolenia na dostęp.

ArgumentException

Ścieżka " jest pusta, zawiera tylko białe przestrzenie lub zawiera nieprawidłowe znaky.

UnauthorizedAccessException

Dostęp do pliku path" jest odrzucony.

PathTooLongException

Określenie path", nazwa pliku lub obie przekracza maksymalną długość określoną przez system. Na przykład, na platformach opartych na systemie Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.

NotSupportedException

Plik w path’ zawiera kolumnę (:) w środku paska.

FileNotFoundException

Plik nie został znaleziony.

DirectoryNotFoundException

Określona ścieżka jest nieważna, na przykład na nieokreślonym dysku.

IOException

Archiwum jest już otwarte.

Properties

Entries

Otrzymuje wpisy typu Aspose.Zip.Cpio.CpioEntry tworzącego archiwum.

public ReadOnlyCollection<cpioentry> Entries { get; }

Wartość nieruchomości

ReadOnlyCollection • < CpioEntry >

Methods

CreateEntries(Złoty, Bool)

Dodaj do archiwum wszystkie pliki i katalogi ponownie w danym katalogu.

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

Parameters

sourceDirectory string

Dyrekcja do kompresji.

includeRootDirectory bool

Oznacza, czy należy włączyć sam katalog korzeniowy, czy nie.

Returns

CpioArchive

Wstęp do instancji Cpio.

Examples

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

Exceptions

ArgumentNullException

sourceDirectory’ is null.

SecurityException

Wzywacz nie ma wymaganej zgody na dostęp do sourceDirectory'.

ArgumentException

sourceDirectory’ contains invalid characters such as “, <, >, or |.

PathTooLongException

Na przykład, na platformach opartych na systemie Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.

IOException

sourceDirectory’ stands for a file, not for a directory.

CreateEntries(Informacje, Bool)

Dodaj do archiwum wszystkie pliki i katalogi ponownie w danym katalogu.

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

Parameters

directory DirectoryInfo

Dyrekcja do kompresji.

includeRootDirectory bool

Oznacza, czy należy włączyć sam katalog korzeniowy, czy nie.

Returns

CpioArchive

Wstęp do instancji Cpio.

Examples

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

Exceptions

ArgumentNullException

directory’ is null.

SecurityException

Odwołujący nie ma wymaganej zgody na dostęp do adresatu directory”.

IOException

directory’ stands for a file, not for a directory.

CreateEntry(Źródło: FileInfo, Bool)

Tworzenie jednego wpisu w archiwum.

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

Parameters

name string

Nazwa wejścia.

fileInfo FileInfo

Metadane plików lub folderów do kompresji.

openImmediately bool

Prawda jest taka, że jeśli natychmiast otworzysz plik, w przeciwnym razie otwórz plik na archiwum.

Returns

CpioEntry

Wstęp do instancji Cpio.

Examples

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

Remarks

Jeśli plik zostanie natychmiast otwarty parametrem, zostanie on zablokowany, dopóki nie zostanie usunięty archiwum.

Exceptions

ArgumentNullException

name’ is null.

ArgumentException

name’ is empty.

ArgumentNullException

fileInfo’ is null.

CreateEntry(String, String i Bool)

Tworzenie jednego wpisu w archiwum.

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

Parameters

name string

Nazwa wejścia.

sourcePath string

Ścieżka do rejestracji do kompresji.

openImmediately bool

Prawda jest taka, że jeśli natychmiast otworzysz plik, w przeciwnym razie otwórz plik na archiwum.

Returns

CpioEntry

Wstęp do instancji Cpio.

Examples

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

Remarks

Nazwa wpisu jest ustawiona wyłącznie w parametrze. nazwa pliku podana w parametrze nie wpływa na nazwę wpisu.

Jeśli plik zostanie natychmiast otwarty parametrem, zostanie on zablokowany, dopóki nie zostanie usunięty archiwum.

Exceptions

ArgumentNullException

sourcePath’ is null.

SecurityException

Klient nie posiada wymaganego zezwolenia na dostęp.

ArgumentException

sourcePath’ jest pusta, zawiera tylko białe przestrzenie lub zawiera nieprawidłowe znaky. - lub - Nazwa pliku, jako część name’, przekracza 100 symboli.

UnauthorizedAccessException

Dostęp do pliku sourcePath’ jest odrzucony.

PathTooLongException

Na przykład, na platformach opartych na systemie Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków. - lub - name’ jest zbyt długi dla cpio.

NotSupportedException

Plik w sourcePath’ zawiera kolumnę (:) w środku paska.

CreateEntry(strumień, strumień)

Tworzenie jednego wpisu w archiwum.

public CpioEntry CreateEntry(string name, Stream source)

Parameters

name string

Nazwa wejścia.

source Stream

Przepływ wejściowy dla wejścia.

Returns

CpioEntry

Wstęp do instancji Cpio.

Examples

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

Exceptions

ArgumentNullException

name’ is null.

ArgumentNullException

source’ is null.

ArgumentException

name’ is empty.

DeleteEntry(CpioEntry)

Usuwa pierwsze pojawienie się określonego wpisu z listy wpisów.

public CpioArchive DeleteEntry(CpioEntry entry)

Parameters

entry CpioEntry

Wstęp do usunięcia z listy wpisów.

Returns

CpioArchive

Wstęp do instancji Cpio.

Examples

Oto jak można usunąć wszystkie wpisy z wyjątkiem ostatniego:

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

Exceptions

ArgumentNullException

entry’ is null.

DeleteEntry(Int)

Usunąć wpis z listy wpisów według indeksu.

public CpioArchive DeleteEntry(int entryIndex)

Parameters

entryIndex int

Wskaźnik oparty na zero wejścia do usunięcia.

Returns

CpioArchive

Archiwum z wpisem usunięte.

Examples

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

Exceptions

ArgumentOutOfRangeException

entryIndex’ is less than 0.-or- entryIndex’ is equal to or greater than ‘Entries’ count.

Dispose()

Wykonywanie zadań określonych w aplikacji związanych z uwalnianiem, uwalnianiem lub ponownym uwalnianiem nie zarządzanych zasobów.

public void Dispose()

Dispose(Bool)

Wykonywanie zadań określonych w aplikacji związanych z uwalnianiem, uwalnianiem lub ponownym uwalnianiem nie zarządzanych zasobów.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Czy zarządzane zasoby powinny zostać usunięte?

ExtractToDirectory(strumień)

Wyciąga wszystkie pliki w archiwum do dostarczonego katalogu.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Droga do katalogu, aby umieścić wyciągnięte pliki.

Examples

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

Remarks

Jeśli dyrektywa nie istnieje, zostanie ona utworzona.

Exceptions

ArgumentNullException

Droga jest zero

PathTooLongException

Na przykład, na platformach z systemem Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.

SecurityException

Odwołujący nie posiada wymaganej pozwolenia na dostęp do istniejącego katalogu.

NotSupportedException

Jeśli dyrektywa nie istnieje, ścieżka zawiera znak kolumny (:) który nie jest częścią etykiety napędu (“C:”).

ArgumentException

Ścieżka jest łańcuchem zero długości, zawiera tylko biały przestrzeń, lub zawiera jeden lub więcej nieprawidłowych znaków. Możesz zapytać o nieprawidłowe znaky za pomocą metody System.IO.Path.GetInvalidPathChars. -or- ścieżka jest wyznaczona z, lub zawiera, tylko znak kolonu (:).

IOException

Dyskusja określona przez ścieżkę jest plikiem. -or- Nazwa sieci nie jest znana.

Save(strumień, CpioFormat)

Zapisz archiwum do dostarczonego pliku docelowego.

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

Parameters

destinationFileName string

Jeśli określona nazwa pliku wskazuje na istniejący plik, zostanie on przesłany.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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

Remarks

Istnieje możliwość przechowywania archiwum na tę samą ścieżkę, z której został pobrany. jednak nie jest to zalecane, ponieważ ten podejście wykorzystuje kopiowanie do tymczasowego pliku.

Exceptions

ArgumentException

destinationFileName’ is a zero-length string, contains only white space, or contains one or more invalid characters as defined by System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName’ is null.

PathTooLongException

Określenie destinationFileName’, nazwa pliku, lub obie przekracza maksymalną długość określoną przez system. Na przykład, na platformach z systemem Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.

DirectoryNotFoundException

Określenie destinationFileName’ jest nieważne, (na przykład, jest to na dysku bez mapowania).

IOException

Błąd I/O wystąpił podczas otwierania pliku.

UnauthorizedAccessException

destinationFileName’Specified a file is read-only and access is not Read.-or- path specified a directory.-or- The caller does not have the required permission.

NotSupportedException

destinationFileName’ is in an invalid format.

Save(Strumień, CpioFormat)

Oszczędzaj archiwum na dostarczonym strumieniu.

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

Parameters

output Stream

Przepływ docelowy.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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

Remarks

Musi być pisemny.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable. - or - output’ is the same stream we extract from.- OR -It is impossible to save archive in cpioFormat’ due to format restrictions.

SaveGzipped(Strumień, CpioFormat)

Oszczędza archiwum do strumienia za pomocą kompresji gzip.

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

Parameters

output Stream

Przepływ docelowy.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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);
        }
    }
}

Remarks

Musi być pisemny.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveGzipped(strumień, CpioFormat)

Oszczędza archiwum do pliku przez ścieżkę za pomocą kompresji gzip.

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

Parameters

path string

Jeśli określona nazwa pliku wskazuje na istniejący plik, zostanie on przesłany.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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");
    }
}

Przegląd kompresji(Strumień, CpioFormat)

Oszczędzaj archiwum do strumienia za pomocą kompresji LZMA.

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

Parameters

output Stream

Przepływ docelowy.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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);
        }
    }
}

Remarks

Musi być pisemny.

Ważne: archiwum cpio jest złożone, a następnie kompresowane w ramach tej metody, jego zawartość jest utrzymywana wewnętrznie.

Przegląd kompresji(strumień, CpioFormat)

Oszczędzaj archiwum do pliku przez ścieżkę za pomocą kompresji lzma.

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

Parameters

path string

Jeśli określona nazwa pliku wskazuje na istniejący plik, zostanie on przesłany.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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");
    }
}

Remarks

Ważne: archiwum cpio jest złożone, a następnie kompresowane w ramach tej metody, jego zawartość jest utrzymywana wewnętrznie.

SaveLzipped(Strumień, CpioFormat)

Oszczędza archiwum do strumienia za pomocą kompresji lzip.

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

Parameters

output Stream

Przepływ docelowy.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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);
        }
    }
}

Remarks

Musi być pisemny.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveLzipped(strumień, CpioFormat)

Oszczędza archiwum do pliku na ścieżkę za pomocą kompresji lzip.

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

Parameters

path string

Jeśli określona nazwa pliku wskazuje na istniejący plik, zostanie on przesłany.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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(Strumień, CpioFormat, XzArchiveSettings)

Oszczędza archiwum do strumienia za pomocą kompresji xz.

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

Parameters

output Stream

Przepływ docelowy.

cpioFormat CpioFormat

Definicja formatu cpio header.

settings XzArchiveSettings

Zestaw ustawień określonego archiwum xz: rozmiar słownika, rozmiar bloku, typ sprawdzania.

Examples

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);
        }
    }
}

Remarks

Strumień musi być pisemny.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveXzCompressed(strona, CpioFormat, XzArchiveSettings)

Oszczędza archiwum na ścieżce przez ścieżkę za pomocą kompresji xz.

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

Parameters

path string

Jeśli określona nazwa pliku wskazuje na istniejący plik, zostanie on przesłany.

cpioFormat CpioFormat

Definicja formatu cpio header.

settings XzArchiveSettings

Zestaw ustawień określonego archiwum xz: rozmiar słownika, rozmiar bloku, typ sprawdzania.

Examples

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");
    }
}

SaveZkompresowane(Strumień, CpioFormat)

Oszczędza archiwum do strumienia za pomocą kompresji Z.

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

Parameters

output Stream

Przepływ docelowy.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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);
        }
    }
}

Remarks

Musi być pisemny.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveZkompresowane(strumień, CpioFormat)

Oszczędza archiwum na ścieżce przez ścieżkę z kompresją Z.

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

Parameters

path string

Jeśli określona nazwa pliku wskazuje na istniejący plik, zostanie on przesłany.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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(Strumień, CpioFormat)

Oszczędza archiwum do strumienia za pomocą kompresji Zstandard.

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

Parameters

output Stream

Przepływ docelowy.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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);
        }
    }
}

Remarks

Musi być pisemny.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveZstandard(strumień, CpioFormat)

Oszczędza archiwum do pliku na ścieżkę za pomocą kompresji Zstandard.

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

Parameters

path string

Jeśli określona nazwa pliku wskazuje na istniejący plik, zostanie on przesłany.

cpioFormat CpioFormat

Definicja formatu cpio header.

Examples

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");
    }
}
 Polski