Class CpioArchive

Class CpioArchive

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

Questa classe rappresenta un file di archivio cpio.

public class CpioArchive : IArchive, IDisposable

Ereditarietà

objectCpioArchive

Implementa

IArchive, IDisposable

Membri Ereditati

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

Costruttori

CpioArchive()

Inizializza una nuova istanza della classe Aspose.Zip.Cpio.CpioArchive.

public CpioArchive()

Esempi

Il seguente esempio mostra come comprimere un file.

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

CpioArchive(Stream)

Inizializza una nuova istanza della classe Aspose.Zip.Cpio.CpioArchive e compone l’elenco delle voci che possono essere estratte dall’archivio.

public CpioArchive(Stream sourceStream)

Parametri

sourceStream Stream

La sorgente dell’archivio. Deve essere cercabile.

Esempi

Il seguente esempio mostra come estrarre tutte le voci in una directory.

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

Osservazioni

Questo costruttore non estrae alcuna voce. Vedi il metodo Aspose.Zip.Cpio.CpioEntry.Open per l’estrazione.

Eccezioni

ArgumentNullException

sourceStream è nullo.

ArgumentException

sourceStream non è cercabile.

InvalidDataException

sourceStream non è un archivio cpio valido.

CpioArchive(string)

Inizializza una nuova istanza della classe Aspose.Zip.Cpio.CpioArchive e compone l’elenco delle voci che possono essere estratte dall’archivio.

public CpioArchive(string path)

Parametri

path string

Il percorso del file di archivio.

Esempi

Il seguente esempio mostra come estrarre tutte le voci in una directory.

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

Osservazioni

Questo costruttore non estrae alcuna voce. Vedi il metodo Aspose.Zip.Cpio.CpioEntry.Open per l’estrazione.

Eccezioni

ArgumentNullException

path è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere.

ArgumentException

Il path è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.

UnauthorizedAccessException

Accesso al file path negato.

PathTooLongException

Il path, il nome del file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

NotSupportedException

Il file in path contiene un due punti (:) nel mezzo della stringa.

FileNotFoundException

Il file non è stato trovato.

DirectoryNotFoundException

Il percorso specificato non è valido, ad esempio se si trova su un’unità non mappata.

IOException

Il file è già aperto.

Proprietà

Entries

Ottiene le voci di tipo Aspose.Zip.Cpio.CpioEntry che costituiscono l’archivio.

public ReadOnlyCollection<cpioentry> Entries { get; }

Valore della Proprietà

ReadOnlyCollection<CpioEntry&gt;

Metodi

CreateEntries(string, bool)

Aggiunge all’archivio tutti i file e le directory ricorsivamente nella directory fornita.

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

Parametri

sourceDirectory string

Directory da comprimere.

includeRootDirectory bool

Indica se includere o meno la directory radice stessa.

Restituisce

CpioArchive

Istanze di voci cpio.

Esempi

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

Eccezioni

ArgumentNullException

sourceDirectory è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere a sourceDirectory.

ArgumentException

sourceDirectory contiene caratteri non validi come “, <, > o |.

PathTooLongException

Il percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri. Il percorso specificato, il nome del file o entrambi sono troppo lunghi.

IOException

sourceDirectory rappresenta un file, non una directory.

CreateEntries(DirectoryInfo, bool)

Aggiunge all’archivio tutti i file e le directory ricorsivamente nella directory fornita.

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

Parametri

directory DirectoryInfo

Directory da comprimere.

includeRootDirectory bool

Indica se includere o meno la directory radice stessa.

Restituisce

CpioArchive

Istanze di voci cpio.

Esempi

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

Eccezioni

ArgumentNullException

directory è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere a directory.

IOException

directory rappresenta un file, non una directory.

CreateEntry(string, FileInfo, bool)

Crea una singola voce all’interno dell’archivio.

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

Parametri

name string

Il nome della voce.

fileInfo FileInfo

I metadati del file o della cartella da comprimere.

openImmediately bool

Vero se aprire il file immediatamente, altrimenti aprire il file durante il salvataggio dell’archivio.

Restituisce

CpioEntry

Istanze di voci cpio.

Esempi

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

Osservazioni

Se il file è aperto immediatamente con il parametro openImmediately, rimarrà bloccato fino a quando l'archivio non sarà eliminato.

Eccezioni

ArgumentNullException

name è nullo.

ArgumentException

name è vuoto.

ArgumentNullException

fileInfo è nullo.

CreateEntry(string, string, bool)

Crea una singola voce all’interno dell’archivio.

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

Parametri

name string

Il nome della voce.

sourcePath string

Percorso del file da comprimere.

openImmediately bool

Vero se aprire il file immediatamente, altrimenti aprire il file durante il salvataggio dell’archivio.

Restituisce

CpioEntry

Istanze di voci cpio.

Esempi

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

Osservazioni

Il nome della voce è impostato esclusivamente nel parametro name. Il nome del file fornito nel parametro sourcePath non influisce sul nome della voce.

Se il file è aperto immediatamente con il parametro openImmediately, rimarrà bloccato fino a quando l'archivio non sarà eliminato.

Eccezioni

ArgumentNullException

sourcePath è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere.

ArgumentException

Il sourcePath è vuoto, contiene solo spazi bianchi o contiene caratteri non validi. - oppure - Il nome del file, come parte di name, supera i 100 simboli.

UnauthorizedAccessException

Accesso al file sourcePath negato.

PathTooLongException

Il sourcePath, il nome del file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri. - oppure - name è troppo lungo per cpio.

NotSupportedException

Il file in sourcePath contiene un due punti (:) nel mezzo della stringa.

CreateEntry(string, Stream)

Crea una singola voce all’interno dell’archivio.

public CpioEntry CreateEntry(string name, Stream source)

Parametri

name string

Il nome della voce.

source Stream

Lo stream di input per la voce.

Restituisce

CpioEntry

Istanze di voci cpio.

Esempi

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

Eccezioni

ArgumentNullException

name è nullo.

ArgumentNullException

source è nullo.

ArgumentException

name è vuoto.

DeleteEntry(CpioEntry)

Rimuove la prima occorrenza di una voce specifica dall’elenco delle voci.

public CpioArchive DeleteEntry(CpioEntry entry)

Parametri

entry CpioEntry

La voce da rimuovere dall’elenco delle voci.

Restituisce

CpioArchive

Istanze di voci cpio.

Esempi

Ecco come puoi rimuovere tutte le voci tranne l'ultima:

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

Eccezioni

ArgumentNullException

entry è nullo.

DeleteEntry(int)

Rimuove la voce dall’elenco delle voci per indice.

public CpioArchive DeleteEntry(int entryIndex)

Parametri

entryIndex int

L’indice zero-based della voce da rimuovere.

Restituisce

CpioArchive

L’archivio con la voce eliminata.

Esempi

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

Eccezioni

ArgumentOutOfRangeException

entryIndex è minore di 0.-oppure- entryIndex è uguale o maggiore del conteggio di Entries.

Dispose()

Esegue attività definite dall’applicazione associate alla liberazione, al rilascio o al ripristino delle risorse non gestite.

public void Dispose()

Dispose(bool)

Esegue attività definite dall’applicazione associate alla liberazione, al rilascio o al ripristino delle risorse non gestite.

protected virtual void Dispose(bool disposing)

Parametri

disposing bool

Se le risorse gestite devono essere eliminate.

ExtractToDirectory(string)

Estrae tutti i file nell’archivio nella directory fornita.

public void ExtractToDirectory(string destinationDirectory)

Parametri

destinationDirectory string

Il percorso della directory in cui posizionare i file estratti.

Esempi

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

Osservazioni

Se la directory non esiste, verrà creata.

Eccezioni

ArgumentNullException

path è nullo

PathTooLongException

Il percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

SecurityException

Il chiamante non ha il permesso richiesto per accedere alla directory esistente.

NotSupportedException

Se la directory non esiste, il percorso contiene un carattere due punti (:) che non fa parte di un’etichetta di unità (“C:").

ArgumentException

path è una stringa di lunghezza zero, contiene solo spazi bianchi o contiene uno o più caratteri non validi. Puoi interrogare i caratteri non validi utilizzando il metodo System.IO.Path.GetInvalidPathChars. -oppure- path è prefissato da, o contiene, solo un carattere due punti (:).

IOException

La directory specificata da path è un file. -oppure- Il nome di rete non è noto.

Save(string, CpioFormat)

Salva l’archivio nel file di destinazione fornito.

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

Parametri

destinationFileName string

Il percorso dell’archivio da creare. Se il nome del file specificato punta a un file esistente, verrà sovrascritto.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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

Osservazioni

È possibile salvare un archivio nello stesso percorso da cui è stato caricato. Tuttavia, non è raccomandato perché questo approccio utilizza la copia in un file temporaneo.

Eccezioni

ArgumentException

destinationFileName è una stringa di lunghezza zero, contiene solo spazi bianchi o contiene uno o più caratteri non validi come definiti da System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName è nullo.

PathTooLongException

Il destinationFileName specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

DirectoryNotFoundException

Il destinationFileName specificato non è valido, (ad esempio, si trova su un’unità non mappata).

IOException

Si è verificato un errore di I/O durante l’apertura del file.

UnauthorizedAccessException

destinationFileName specifica un file che è di sola lettura e l’accesso non è in lettura.-oppure- il percorso specificato è una directory.-oppure- Il chiamante non ha il permesso richiesto.

NotSupportedException

destinationFileName è in un formato non valido.

Save(Stream, CpioFormat)

Salva l’archivio nello stream fornito.

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

Parametri

output Stream

Stream di destinazione.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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

Osservazioni

output deve essere scrivibile.

Eccezioni

ArgumentNullException

output è nullo.

ArgumentException

output non è scrivibile. - oppure - output è lo stesso stream da cui estraiamo. - OPPURE - È impossibile salvare l’archivio in cpioFormat a causa di restrizioni di formato.

SaveGzipped(Stream, CpioFormat)

Salva l’archivio nello stream con compressione gzip.

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

Parametri

output Stream

Stream di destinazione.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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

Osservazioni

output deve essere scrivibile.

Eccezioni

ArgumentNullException

output è nullo.

ArgumentException

output non è scrivibile.

SaveGzipped(string, CpioFormat)

Salva l’archivio nel file per percorso con compressione gzip.

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

Parametri

path string

Il percorso dell’archivio da creare. Se il nome del file specificato punta a un file esistente, verrà sovrascritto.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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)

Salva l’archivio nello stream con compressione LZMA.

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

Parametri

output Stream

Stream di destinazione.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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

Osservazioni

output deve essere scrivibile.

Importante: l'archivio cpio è composto e poi compresso all'interno di questo metodo, il suo contenuto è mantenuto internamente. Attenzione al consumo di memoria.

SaveLZMACompressed(string, CpioFormat)

Salva l’archivio nel file per percorso con compressione lzma.

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

Parametri

path string

Il percorso dell’archivio da creare. Se il nome del file specificato punta a un file esistente, verrà sovrascritto.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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

Osservazioni

Importante: l’archivio cpio è composto e poi compresso all’interno di questo metodo, il suo contenuto è mantenuto internamente. Attenzione al consumo di memoria.

SaveLzipped(Stream, CpioFormat)

Salva l’archivio nello stream con compressione lzip.

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

Parametri

output Stream

Stream di destinazione.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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

Osservazioni

output deve essere scrivibile.

Eccezioni

ArgumentNullException

output è nullo.

ArgumentException

output non è scrivibile.

SaveLzipped(string, CpioFormat)

Salva l’archivio nel file per percorso con compressione lzip.

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

Parametri

path string

Il percorso dell’archivio da creare. Se il nome del file specificato punta a un file esistente, verrà sovrascritto.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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)

Salva l’archivio nello stream con compressione xz.

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

Parametri

output Stream

Stream di destinazione.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

settings XzArchiveSettings

Insieme di impostazioni particolari per l’archivio xz: dimensione del dizionario, dimensione del blocco, tipo di controllo.

Esempi

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

Osservazioni

output deve essere scrivibile.

Eccezioni

ArgumentNullException

output è nullo.

ArgumentException

output non è scrivibile.

SaveXzCompressed(string, CpioFormat, XzArchiveSettings)

Salva l’archivio nel percorso con compressione xz.

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

Parametri

path string

Il percorso dell’archivio da creare. Se il nome del file specificato punta a un file esistente, verrà sovrascritto.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

settings XzArchiveSettings

Insieme di impostazioni particolari per l’archivio xz: dimensione del dizionario, dimensione del blocco, tipo di controllo.

Esempi

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)

Salva l’archivio nello stream con compressione Z.

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

Parametri

output Stream

Stream di destinazione.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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

Osservazioni

output deve essere scrivibile.

Eccezioni

ArgumentNullException

output è nullo.

ArgumentException

output non è scrivibile.

SaveZCompressed(string, CpioFormat)

Salva l’archivio nel percorso con compressione Z.

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

Parametri

path string

Il percorso dell’archivio da creare. Se il nome del file specificato punta a un file esistente, verrà sovrascritto.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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)

Salva l’archivio nello stream con compressione Zstandard.

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

Parametri

output Stream

Stream di destinazione.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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

Osservazioni

output deve essere scrivibile.

Eccezioni

ArgumentNullException

output è nullo.

ArgumentException

output non è scrivibile.

SaveZstandard(string, CpioFormat)

Salva l’archivio nel file per percorso con compressione Zstandard.

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

Parametri

path string

Il percorso dell’archivio da creare. Se il nome del file specificato punta a un file esistente, verrà sovrascritto.

cpioFormat CpioFormat

Definisce il formato dell’intestazione cpio.

Esempi

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