Class CpioArchive

Class CpioArchive

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

Esta clase representa un archivo de archivo cpio.

public class CpioArchive : IArchive, IDisposable

Herencia

objectCpioArchive

Implementa

IArchive, IDisposable

Miembros heredados

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

Constructores

CpioArchive()

Inicializa una nueva instancia de la clase Aspose.Zip.Cpio.CpioArchive.

public CpioArchive()

Ejemplos

El siguiente ejemplo muestra cómo comprimir un archivo.

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

CpioArchive(Stream)

Inicializa una nueva instancia de la clase Aspose.Zip.Cpio.CpioArchive y compone la lista de entradas que se pueden extraer del archivo.

public CpioArchive(Stream sourceStream)

Parámetros

sourceStream Stream

La fuente del archivo. Debe ser buscable.

Ejemplos

El siguiente ejemplo muestra cómo extraer todas las entradas a un directorio.

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

Observaciones

Este constructor no descomprime ninguna entrada. Consulte el método Aspose.Zip.Cpio.CpioEntry.Open para descomprimir.

Excepciones

ArgumentNullException

sourceStream es nulo.

ArgumentException

sourceStream no es buscable.

InvalidDataException

sourceStream no es un archivo cpio válido.

CpioArchive(string)

Inicializa una nueva instancia de la clase Aspose.Zip.Cpio.CpioArchive y compone la lista de entradas que se pueden extraer del archivo.

public CpioArchive(string path)

Parámetros

path string

La ruta al archivo de archivo.

Ejemplos

El siguiente ejemplo muestra cómo extraer todas las entradas a un directorio.

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

Observaciones

Este constructor no descomprime ninguna entrada. Consulte el método Aspose.Zip.Cpio.CpioEntry.Open para descomprimir.

Excepciones

ArgumentNullException

path es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder.

ArgumentException

path está vacío, contiene solo espacios en blanco o contiene caracteres no válidos.

UnauthorizedAccessException

Acceso al archivo path denegado.

PathTooLongException

La path especificada, el nombre del archivo o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.

NotSupportedException

El archivo en path contiene dos puntos (:) en medio de la cadena.

FileNotFoundException

El archivo no se encuentra.

DirectoryNotFoundException

La ruta especificada no es válida, como estar en una unidad no asignada.

IOException

El archivo ya está abierto.

Propiedades

Entries

Obtiene las entradas del tipo Aspose.Zip.Cpio.CpioEntry que constituyen el archivo.

public ReadOnlyCollection<cpioentry> Entries { get; }

Valor de la propiedad

ReadOnlyCollection<CpioEntry&gt;

Métodos

CreateEntries(string, bool)

Agrega al archivo todos los archivos y directorios de forma recursiva en el directorio dado.

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

Parámetros

sourceDirectory string

Directorio a comprimir.

includeRootDirectory bool

Indica si se debe incluir el directorio raíz en sí mismo o no.

Retorna

CpioArchive

Instancia de entrada Cpio.

Ejemplos

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

Excepciones

ArgumentNullException

sourceDirectory es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder a sourceDirectory.

ArgumentException

sourceDirectory contiene caracteres no válidos como “, <, > o |.

PathTooLongException

La ruta especificada, el nombre del archivo o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres. La ruta especificada, el nombre del archivo o ambos son demasiado largos.

IOException

sourceDirectory representa un archivo, no un directorio.

CreateEntries(DirectoryInfo, bool)

Agrega al archivo todos los archivos y directorios de forma recursiva en el directorio dado.

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

Parámetros

directory DirectoryInfo

Directorio a comprimir.

includeRootDirectory bool

Indica si se debe incluir el directorio raíz en sí mismo o no.

Retorna

CpioArchive

Instancia de entrada Cpio.

Ejemplos

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

Excepciones

ArgumentNullException

directory es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder a directory.

IOException

directory representa un archivo, no un directorio.

CreateEntry(string, FileInfo, bool)

Crea una sola entrada dentro del archivo.

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

Parámetros

name string

El nombre de la entrada.

fileInfo FileInfo

Los metadatos del archivo o carpeta a comprimir.

openImmediately bool

Verdadero si se abre el archivo inmediatamente, de lo contrario se abre el archivo al guardar el archivo.

Retorna

CpioEntry

Instancia de entrada Cpio.

Ejemplos

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

Observaciones

Si el archivo se abre inmediatamente con el parámetro openImmediately, se bloquea hasta que se disponga del archivo.

Excepciones

ArgumentNullException

name es nulo.

ArgumentException

name está vacío.

ArgumentNullException

fileInfo es nulo.

CreateEntry(string, string, bool)

Crea una sola entrada dentro del archivo.

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

Parámetros

name string

El nombre de la entrada.

sourcePath string

Ruta al archivo a comprimir.

openImmediately bool

Verdadero si se abre el archivo inmediatamente, de lo contrario se abre el archivo al guardar el archivo.

Retorna

CpioEntry

Instancia de entrada Cpio.

Ejemplos

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

Observaciones

El nombre de la entrada se establece únicamente en el parámetro name. El nombre del archivo proporcionado en el parámetro sourcePath no afecta el nombre de la entrada.

Si el archivo se abre inmediatamente con el parámetro openImmediately, se bloquea hasta que se disponga del archivo.

Excepciones

ArgumentNullException

sourcePath es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder.

ArgumentException

La sourcePath está vacía, contiene solo espacios en blanco o contiene caracteres no válidos. - o - El nombre del archivo, como parte de name, excede 100 símbolos.

UnauthorizedAccessException

Acceso al archivo sourcePath denegado.

PathTooLongException

La sourcePath especificada, el nombre del archivo o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres. - o - name es demasiado largo para cpio.

NotSupportedException

El archivo en sourcePath contiene dos puntos (:) en medio de la cadena.

CreateEntry(string, Stream)

Crea una sola entrada dentro del archivo.

public CpioEntry CreateEntry(string name, Stream source)

Parámetros

name string

El nombre de la entrada.

source Stream

El flujo de entrada para la entrada.

Retorna

CpioEntry

Instancia de entrada Cpio.

Ejemplos

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

Excepciones

ArgumentNullException

name es nulo.

ArgumentNullException

source es nulo.

ArgumentException

name está vacío.

DeleteEntry(CpioEntry)

Elimina la primera ocurrencia de una entrada específica de la lista de entradas.

public CpioArchive DeleteEntry(CpioEntry entry)

Parámetros

entry CpioEntry

La entrada a eliminar de la lista de entradas.

Retorna

CpioArchive

Instancia de entrada Cpio.

Ejemplos

Aquí se muestra cómo puede eliminar todas las entradas excepto la última:

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

Excepciones

ArgumentNullException

entry es nulo.

DeleteEntry(int)

Elimina la entrada de la lista de entradas por índice.

public CpioArchive DeleteEntry(int entryIndex)

Parámetros

entryIndex int

El índice basado en cero de la entrada a eliminar.

Retorna

CpioArchive

El archivo con la entrada eliminada.

Ejemplos

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

Excepciones

ArgumentOutOfRangeException

entryIndex es menor que 0.-o- entryIndex es igual o mayor que el conteo de Entries.

Dispose()

Realiza tareas definidas por la aplicación asociadas con liberar, liberar o restablecer recursos no administrados.

public void Dispose()

Dispose(bool)

Realiza tareas definidas por la aplicación asociadas con liberar, liberar o restablecer recursos no administrados.

protected virtual void Dispose(bool disposing)

Parámetros

disposing bool

Si los recursos administrados deben ser liberados.

ExtractToDirectory(string)

Extrae todos los archivos en el archivo al directorio proporcionado.

public void ExtractToDirectory(string destinationDirectory)

Parámetros

destinationDirectory string

La ruta al directorio donde se colocarán los archivos extraídos.

Ejemplos

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

Observaciones

Si el directorio no existe, se creará.

Excepciones

ArgumentNullException

path es nulo

PathTooLongException

La ruta especificada, el nombre del archivo o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.

SecurityException

El llamador no tiene el permiso requerido para acceder al directorio existente.

NotSupportedException

Si el directorio no existe, la ruta contiene un carácter de dos puntos (:) que no es parte de una etiqueta de unidad (“C:").

ArgumentException

path es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o más caracteres no válidos. Puede consultar los caracteres no válidos utilizando el método System.IO.Path.GetInvalidPathChars. -o- path está prefijado o contiene solo un carácter de dos puntos (:).

IOException

El directorio especificado por la ruta es un archivo. -o- El nombre de la red no es conocido.

Save(string, CpioFormat)

Guarda el archivo en el archivo de destino proporcionado.

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

Parámetros

destinationFileName string

La ruta del archivo de archivo que se va a crear. Si el nombre de archivo especificado apunta a un archivo existente, se sobrescribirá.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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

Observaciones

Es posible guardar un archivo en la misma ruta de la que se cargó. Sin embargo, no se recomienda este enfoque porque utiliza la copia en un archivo temporal.

Excepciones

ArgumentException

destinationFileName es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o más caracteres no válidos según lo definido por System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName es nulo.

PathTooLongException

El destinationFileName especificado, el nombre del archivo o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.

DirectoryNotFoundException

El destinationFileName especificado no es válido, (por ejemplo, está en una unidad no asignada).

IOException

Ocurrió un error de E/S al abrir el archivo.

UnauthorizedAccessException

destinationFileName especificó un archivo que es de solo lectura y el acceso no es de lectura.-o- la ruta especificada es un directorio.-o- El llamador no tiene el permiso requerido.

NotSupportedException

destinationFileName está en un formato no válido.

Save(Stream, CpioFormat)

Guarda el archivo en el flujo proporcionado.

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

Parámetros

output Stream

Flujo de destino.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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

Observaciones

output debe ser escribible.

Excepciones

ArgumentNullException

output es nulo.

ArgumentException

output no es escribible. - o - output es el mismo flujo del que extraemos. - O - No es posible guardar el archivo en cpioFormat debido a restricciones de formato.

SaveGzipped(Stream, CpioFormat)

Guarda el archivo en el flujo con compresión gzip.

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

Parámetros

output Stream

Flujo de destino.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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

Observaciones

output debe ser escribible.

Excepciones

ArgumentNullException

output es nulo.

ArgumentException

output no es escribible.

SaveGzipped(string, CpioFormat)

Guarda el archivo en el archivo por ruta con compresión gzip.

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

Parámetros

path string

La ruta del archivo que se va a crear. Si el nombre de archivo especificado apunta a un archivo existente, se sobrescribirá.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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)

Guarda el archivo en el flujo con compresión LZMA.

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

Parámetros

output Stream

Flujo de destino.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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

Observaciones

output debe ser escribible.

Importante: el archivo cpio se compone y luego se comprime dentro de este método, su contenido se mantiene internamente. Tenga cuidado con el consumo de memoria.

SaveLZMACompressed(string, CpioFormat)

Guarda el archivo en el archivo por ruta con compresión lzma.

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

Parámetros

path string

La ruta del archivo que se va a crear. Si el nombre de archivo especificado apunta a un archivo existente, se sobrescribirá.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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

Observaciones

Importante: el archivo cpio se compone y luego se comprime dentro de este método, su contenido se mantiene internamente. Tenga cuidado con el consumo de memoria.

SaveLzipped(Stream, CpioFormat)

Guarda el archivo en el flujo con compresión lzip.

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

Parámetros

output Stream

Flujo de destino.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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

Observaciones

output debe ser escribible.

Excepciones

ArgumentNullException

output es nulo.

ArgumentException

output no es escribible.

SaveLzipped(string, CpioFormat)

Guarda el archivo en el archivo por ruta con compresión lzip.

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

Parámetros

path string

La ruta del archivo que se va a crear. Si el nombre de archivo especificado apunta a un archivo existente, se sobrescribirá.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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)

Guarda el archivo en el flujo con compresión xz.

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

Parámetros

output Stream

Flujo de destino.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

settings XzArchiveSettings

Conjunto de configuraciones del archivo xz particular: tamaño del diccionario, tamaño del bloque, tipo de verificación.

Ejemplos

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

Observaciones

output debe ser escribible.

Excepciones

ArgumentNullException

output es nulo.

ArgumentException

output no es escribible.

SaveXzCompressed(string, CpioFormat, XzArchiveSettings)

Guarda el archivo en la ruta con compresión xz.

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

Parámetros

path string

La ruta del archivo que se va a crear. Si el nombre de archivo especificado apunta a un archivo existente, se sobrescribirá.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

settings XzArchiveSettings

Conjunto de configuraciones del archivo xz particular: tamaño del diccionario, tamaño del bloque, tipo de verificación.

Ejemplos

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)

Guarda el archivo en el flujo con compresión Z.

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

Parámetros

output Stream

Flujo de destino.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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

Observaciones

output debe ser escribible.

Excepciones

ArgumentNullException

output es nulo.

ArgumentException

output no es escribible.

SaveZCompressed(string, CpioFormat)

Guarda el archivo en la ruta con compresión Z.

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

Parámetros

path string

La ruta del archivo que se va a crear. Si el nombre de archivo especificado apunta a un archivo existente, se sobrescribirá.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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)

Guarda el archivo en el flujo con compresión Zstandard.

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

Parámetros

output Stream

Flujo de destino.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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

Observaciones

output debe ser escribible.

Excepciones

ArgumentNullException

output es nulo.

ArgumentException

output no es escribible.

SaveZstandard(string, CpioFormat)

Guarda el archivo en la ruta con compresión Zstandard.

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

Parámetros

path string

La ruta del archivo que se va a crear. Si el nombre de archivo especificado apunta a un archivo existente, se sobrescribirá.

cpioFormat CpioFormat

Define el formato del encabezado cpio.

Ejemplos

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