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à
Implementa
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
sourceStream
è nullo.
sourceStream
non è cercabile.
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
path
è nullo.
Il chiamante non ha il permesso richiesto per accedere.
Il path
è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.
Accesso al file path
negato.
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.
Il file in path
contiene un due punti (:) nel mezzo della stringa.
Il file non è stato trovato.
Il percorso specificato non è valido, ad esempio se si trova su un’unità non mappata.
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>
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
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
sourceDirectory
è nullo.
Il chiamante non ha il permesso richiesto per accedere a sourceDirectory
.
sourceDirectory
contiene caratteri non validi come “, <, > o |.
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.
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
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
directory
è nullo.
Il chiamante non ha il permesso richiesto per accedere a directory
.
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
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
name
è nullo.
name
è vuoto.
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
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
sourcePath
è nullo.
Il chiamante non ha il permesso richiesto per accedere.
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.
Accesso al file sourcePath
negato.
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.
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
Istanze di voci cpio.
Esempi
using (var archive = new CpioArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.cpio");
}
Eccezioni
name
è nullo.
source
è nullo.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputCpioFile);
}
Eccezioni
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
L’archivio con la voce eliminata.
Esempi
using (var archive = new CpioArchive("two_files.cpio"))
{
archive.DeleteEntry(0);
archive.Save("single_file.cpio");
}
Eccezioni
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
path è nullo
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 chiamante non ha il permesso richiesto per accedere alla directory esistente.
Se la directory non esiste, il percorso contiene un carattere due punti (:) che non fa parte di un’etichetta di unità (“C:").
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 (:).
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
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.
destinationFileName
è nullo.
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.
Il destinationFileName
specificato non è valido, (ad esempio, si trova su un’unità non mappata).
Si è verificato un errore di I/O durante l’apertura del file.
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.
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
output
è nullo.
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
output
è nullo.
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.
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
output
è nullo.
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
output
è nullo.
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
output
è nullo.
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
output
è nullo.
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");
}
}