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
Implementa
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
sourceStream
es nulo.
sourceStream
no es buscable.
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
path
es nulo.
El llamador no tiene el permiso requerido para acceder.
path
está vacío, contiene solo espacios en blanco o contiene caracteres no válidos.
Acceso al archivo path
denegado.
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.
El archivo en path
contiene dos puntos (:) en medio de la cadena.
El archivo no se encuentra.
La ruta especificada no es válida, como estar en una unidad no asignada.
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>
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
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
sourceDirectory
es nulo.
El llamador no tiene el permiso requerido para acceder a sourceDirectory
.
sourceDirectory
contiene caracteres no válidos como “, <, > o |.
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.
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
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
directory
es nulo.
El llamador no tiene el permiso requerido para acceder a directory
.
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
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
name
es nulo.
name
está vacío.
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
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
sourcePath
es nulo.
El llamador no tiene el permiso requerido para acceder.
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.
Acceso al archivo sourcePath
denegado.
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.
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
Instancia de entrada Cpio.
Ejemplos
using (var archive = new CpioArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.cpio");
}
Excepciones
name
es nulo.
source
es nulo.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputCpioFile);
}
Excepciones
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
El archivo con la entrada eliminada.
Ejemplos
using (var archive = new CpioArchive("two_files.cpio"))
{
archive.DeleteEntry(0);
archive.Save("single_file.cpio");
}
Excepciones
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
path es nulo
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.
El llamador no tiene el permiso requerido para acceder al directorio existente.
Si el directorio no existe, la ruta contiene un carácter de dos puntos (:) que no es parte de una etiqueta de unidad (“C:").
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 (:).
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
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.
destinationFileName
es nulo.
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.
El destinationFileName
especificado no es válido, (por ejemplo, está en una unidad no asignada).
Ocurrió un error de E/S al abrir el archivo.
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.
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
output
es nulo.
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
output
es nulo.
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.
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
output
es nulo.
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
output
es nulo.
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
output
es nulo.
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
output
es nulo.
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");
}
}