Class CpioArchive

Class CpioArchive

Numele spaţiului: Aspose.Zip.Cpio Asamblare: Aspose.Zip.dll (25.5.0)

Această clasă reprezintă fișierul de arhivă cpio.

public class CpioArchive : IArchive, IDisposable

Inheritance

object CpioArchive

Implements

IArchive , IDisposable

Membrii moștenitori

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

Constructors

CpioArchive()

Inițializează o nouă instanță a clasei Aspose.Zip.Cpio.CpioArchive.

public CpioArchive()

Examples

Următorul exemplu arată cum să compresezi un fișier.

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

CpioArchive(Stream)

Inițializează o nouă instanță a clasei Aspose.Zip.Cpio.CpioArchive și compune o listă de intrări care poate fi extras din arhivă.

public CpioArchive(Stream sourceStream)

Parameters

sourceStream Stream

Sursă de arhivă. trebuie să fie căutată.

Examples

Următorul exemplu arată cum să extrageți toate intrările într-un director.

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

Remarks

Acest constructor nu dezambalează nici o intrare. Vezi Aspose.Zip.Cpio.CpioEntry.Metoda deschisă pentru dezambalare.

Exceptions

ArgumentNullException

sourceStream’ is null.

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

sourceStream’ is not valid cpio archive.

CpioArchive(Strângere)

Inițializează o nouă instanță a clasei Aspose.Zip.Cpio.CpioArchive și compune o listă de intrări care poate fi extras din arhivă.

public CpioArchive(string path)

Parameters

path string

Calea către arhivă.

Examples

Următorul exemplu arată cum să extrageți toate intrările într-un director.

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

Remarks

Acest constructor nu dezambalează nici o intrare. Vezi Aspose.Zip.Cpio.CpioEntry.Metoda deschisă pentru dezambalare.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Solicitantul nu are permisiunea necesară de acces.

ArgumentException

Calea " este goală, conține doar spații albe sau conține caractere invalide.

UnauthorizedAccessException

Accesul la fișierul path" este refuzat.

PathTooLongException

Calea specificată path’, numele fișierului, sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.

NotSupportedException

Fișierul la path’ conține o coloană (:) în mijlocul stringului.

FileNotFoundException

Dosarul nu a fost găsit.

DirectoryNotFoundException

Calea specificată este invalidă, de exemplu, fiind pe un motor necartat.

IOException

Dosarul este deja deschis.

Properties

Entries

Obține intrări de tip Aspose.Zip.Cpio.CpioEntry care constituie arhiva.

public ReadOnlyCollection<cpioentry> Entries { get; }

Valoarea proprietății

ReadOnlyCollection < CpioEntry >

Methods

CreateEntries(Cuvânt cheie, bool)

Adăugați în arhiv toate fișierele și directorii în mod recurent în directorul dat.

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

Parameters

sourceDirectory string

Directoare pentru compresă.

includeRootDirectory bool

Indică dacă să includă directorul de rădăcină în sine sau nu.

Returns

CpioArchive

Instanta de intrare.

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

Solicitantul nu are permisiunea necesară pentru a accesa sourceDirectory'.

ArgumentException

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

PathTooLongException

Calea specificată, numele fișierului sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere. Calea specificată, numele fișierului sau ambele sunt prea lungi.

IOException

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

CreateEntries(Cuvânt cheie, bool)

Adăugați în arhiv toate fișierele și directorii în mod recurent în directorul dat.

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

Parameters

directory DirectoryInfo

Directoare pentru compresă.

includeRootDirectory bool

Indică dacă să includă directorul de rădăcină în sine sau nu.

Returns

CpioArchive

Instanta de intrare.

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

Solicitantul nu are permisiunea necesară pentru a accesa directory”.

IOException

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

CreateEntry(String, FileInfo și Bool)

Creați o singură intrare în arhivă.

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

Parameters

name string

Numele intrării.

fileInfo FileInfo

Metadata fișierului sau a folderului trebuie să fie compresă.

openImmediately bool

Adevărat, dacă deschideți imediat fișierul, în caz contrar deschideți fișierul pe stocarea arhivelor.

Returns

CpioEntry

Instanta de intrare.

Examples

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

Remarks

Dacă fișierul este deschis imediat cu parametru, acesta este blocat până când arhiva este eliminată.

Exceptions

ArgumentNullException

name’ is null.

ArgumentException

name’ is empty.

ArgumentNullException

fileInfo’ is null.

CreateEntry(String, String și Bool)

Creați o singură intrare în arhivă.

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

Parameters

name string

Numele intrării.

sourcePath string

Calea pentru a fi compresat.

openImmediately bool

Adevărat, dacă deschideți imediat fișierul, în caz contrar deschideți fișierul pe stocarea arhivelor.

Returns

CpioEntry

Instanta de intrare.

Examples

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

Remarks

Numele de intrare este setat numai în parametru. numele de fișier furnizat în parametru nu afectează numele de intrare.

Dacă fișierul este deschis imediat cu parametru, acesta este blocat până când arhiva este eliminată.

Exceptions

ArgumentNullException

sourcePath’ is null.

SecurityException

Solicitantul nu are permisiunea necesară de acces.

ArgumentException

sourcePath’ este gol, conține doar spații albe sau conține caractere invalide. - sau - Numele fișierului, ca parte a name’, depășește 100 de simboluri.

UnauthorizedAccessException

Accesul la fișierul sourcePath’ este refuzat.

PathTooLongException

De exemplu, pe platforme bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere. - sau - name’ este prea lung pentru cpio.

NotSupportedException

Fișierul la sourcePath’ conține o coloană (:) în mijlocul stringului.

CreateEntry(Războiul, Stream)

Creați o singură intrare în arhivă.

public CpioEntry CreateEntry(string name, Stream source)

Parameters

name string

Numele intrării.

source Stream

Rata de intrare pentru intrare.

Returns

CpioEntry

Instanta de intrare.

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)

Elimină prima apariție a unei intrări specifice din lista de intrări.

public CpioArchive DeleteEntry(CpioEntry entry)

Parameters

entry CpioEntry

Introducere pentru a elimina din lista de intrări.

Returns

CpioArchive

Instanta de intrare.

Examples

Iată cum puteți șterge toate intrările, cu excepția celei din urmă:

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)

Îndepărtează intrarea din lista de intrare prin index.

public CpioArchive DeleteEntry(int entryIndex)

Parameters

entryIndex int

Indicele de intrare bazat pe zero trebuie eliminat.

Returns

CpioArchive

Arhiva cu intrarea este ștersă.

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()

Îndeplinește sarcini definite prin aplicare asociate cu eliberarea, eliberarea sau redistribuirea resurselor necontrolate.

public void Dispose()

Dispose(Boulă)

Îndeplinește sarcini definite prin aplicare asociate cu eliberarea, eliberarea sau redistribuirea resurselor necontrolate.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

În cazul în care resursele gestionate ar trebui să fie eliminate.

ExtractToDirectory(Strângere)

Extrage toate fișierele din arhivă în directorul furnizat.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Calea către directorie pentru a pune în fișierele extrase.

Examples

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

Remarks

Dacă directorul nu există, acesta va fi creat.

Exceptions

ArgumentNullException

Calea este zero

PathTooLongException

Calea specificată, numele fișierului sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.

SecurityException

Solicitantul nu are permisiunea necesară pentru a accesa directorul existent.

NotSupportedException

În cazul în care directorul nu există, o cale conține un caracter colon (:) care nu face parte dintr-un etichet drive (“C:”).

ArgumentException

Path este o linie de lungime zero, conține doar spațiu alb, sau conține unul sau mai multe caractere invalide. puteți solicita caractere invalide folosind metoda System.IO.Path.GetInvalidPathChars. -or- traseul este prefixat cu, sau conține, doar un caracter colon (:).

IOException

Directoriul specificat de cale este un fișier. -or- Numele rețelei nu este cunoscut.

Save(Strângere, CpioFormat)

Salvează arhiva la un fișier de destinație furnizat.

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

Parameters

destinationFileName string

Dacă numele fișierului specific se referă la un fișier existent, acesta va fi supraîncris.

cpioFormat CpioFormat

Descrierea formatului cpio header.

Examples

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

Remarks

Este posibil să salvați un arhiv pe aceeași cale pe care a fost încărcat de la. Cu toate acestea, acest lucru nu este recomandat deoarece această abordare utilizează copierea la un fișier temporar.

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

De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.

DirectoryNotFoundException

De exemplu, destinationFileName’ este invalidă (de exemplu, este pe un disc necartat).

IOException

A apărut o eroare I/O în timpul deschiderii fișierului.

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(Războiul, CpioFormat)

Salvează arhiva la fluxul furnizat.

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

Parameters

output Stream

Războiul de destinaţie.

cpioFormat CpioFormat

Descrierea formatului 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

Trebuie să fie scrisă.

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(Războiul, CpioFormat)

Salvează arhivele în flux cu compresia gzip.

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

Parameters

output Stream

Războiul de destinaţie.

cpioFormat CpioFormat

Descrierea formatului 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

Trebuie să fie scrisă.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveGzipped(Strângere, CpioFormat)

Salvează fișierul pe cale cu compresia gzip.

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

Parameters

path string

Dacă numele fișierului specific se referă la un fișier existent, acesta va fi supraîncris.

cpioFormat CpioFormat

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

salvare compresă(Războiul, CpioFormat)

Salvează arhiva în flux cu compresia LZMA.

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

Parameters

output Stream

Războiul de destinaţie.

cpioFormat CpioFormat

Descrierea formatului 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

Trebuie să fie scrisă.

Important: arhiva cpio este compusă apoi comprimată în cadrul acestei metode, conținutul său este păstrat intern.

salvare compresă(Strângere, CpioFormat)

Salvează arhiva la fișier prin cale cu compresia lzma.

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

Parameters

path string

Dacă numele fișierului specific se referă la un fișier existent, acesta va fi supraîncris.

cpioFormat CpioFormat

Descrierea formatului 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

Important: arhiva cpio este compusă apoi comprimată în cadrul acestei metode, conținutul său este păstrat intern.

SaveLzipped(Războiul, CpioFormat)

Salvează arhivele în flux cu compresia lzip.

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

Parameters

output Stream

Războiul de destinaţie.

cpioFormat CpioFormat

Descrierea formatului 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

Trebuie să fie scrisă.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveLzipped(Strângere, CpioFormat)

Salvează fișierul pe cale cu compresia lzip.

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

Parameters

path string

Dacă numele fișierului specific se referă la un fișier existent, acesta va fi supraîncris.

cpioFormat CpioFormat

Descrierea formatului 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(Stream, CpioFormat, XzArchiveSettings)

Salvează arhivele în flux cu compresia xz.

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

Parameters

output Stream

Războiul de destinaţie.

cpioFormat CpioFormat

Descrierea formatului cpio header.

settings XzArchiveSettings

Set de setare special xz arhiv: dimensiunea dicționarului, dimensiunea blocului, tipul de verificare.

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

Fluxul trebuie să fie scris.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveXzCompressed(Strângere, CpioFormat, XzArchiveSettings)

Salvează arhivele pe traseu prin traseu cu compresia xz.

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

Parameters

path string

Dacă numele fișierului specific se referă la un fișier existent, acesta va fi supraîncris.

cpioFormat CpioFormat

Descrierea formatului cpio header.

settings XzArchiveSettings

Set de setare special xz arhiv: dimensiunea dicționarului, dimensiunea blocului, tipul de verificare.

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

salvare compresă(Războiul, CpioFormat)

Salvează arhivele în flux cu compresia Z.

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

Parameters

output Stream

Războiul de destinaţie.

cpioFormat CpioFormat

Descrierea formatului 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

Trebuie să fie scrisă.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

salvare compresă(Strângere, CpioFormat)

Salvează arhivele pe cale prin cale cu compresia Z.

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

Parameters

path string

Dacă numele fișierului specific se referă la un fișier existent, acesta va fi supraîncris.

cpioFormat CpioFormat

Descrierea formatului 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(Războiul, CpioFormat)

Salvează arhivele în flux cu compresia Zstandard.

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

Parameters

output Stream

Războiul de destinaţie.

cpioFormat CpioFormat

Descrierea formatului 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

Trebuie să fie scrisă.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveZstandard(Strângere, CpioFormat)

Salvează fișierul pe cale cu compresia Zstandard.

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

Parameters

path string

Dacă numele fișierului specific se referă la un fișier existent, acesta va fi supraîncris.

cpioFormat CpioFormat

Descrierea formatului 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");
    }
}
 Română