Class SharArchive

Class SharArchive

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

Esta clase representa un archivo de archivo shar.

public class SharArchive : IDisposable

Herencia

objectSharArchive

Implementa

IDisposable

Miembros heredados

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

Constructores

SharArchive()

Inicializa una nueva instancia de la clase Aspose.Zip.Shar.SharArchive.

public SharArchive()

Ejemplos

El siguiente ejemplo muestra cómo comprimir un archivo.

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

SharArchive(string)

Inicializa una nueva instancia de la clase Aspose.Zip.Shar.SharArchive preparada para descomprimir.

public SharArchive(string path)

Parámetros

path string

Ruta al origen del archivo.

Excepciones

ArgumentNullException

path es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder.

ArgumentException

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

UnauthorizedAccessException

El acceso al archivo path está denegado.

PathTooLongException

La path, el nombre de 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.Shar.SharEntry que constituyen el archivo.

public ReadOnlyCollection<sharentry> Entries { get; }

Valor de la Propiedad

ReadOnlyCollection<SharEntry&gt;

Métodos

CreateEntries(string, bool)

Agrega al archivo todos los archivos y directorios recursivamente en el directorio dado.

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

Parámetros

sourceDirectory string

Directorio a comprimir.

includeRootDirectory bool

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

Retorna

SharArchive

Instancia de entrada Shar.

Ejemplos

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

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 de 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 de archivo, o ambos son demasiado largos.

IOException

sourceDirectory se refiere a un archivo, no a un directorio.

CreateEntries(DirectoryInfo, bool)

Agrega al archivo todos los archivos y directorios recursivamente en el directorio dado.

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

Parámetros

directory DirectoryInfo

Directorio a comprimir.

includeRootDirectory bool

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

Retorna

SharArchive

Instancia de entrada Shar.

Ejemplos

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

Excepciones

ArgumentNullException

directory es nulo.

SecurityException

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

IOException

directory se refiere a un archivo, no a un directorio.

CreateEntry(string, FileInfo, bool)

Crea una entrada única dentro del archivo.

public SharEntry 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 ser comprimidos.

openImmediately bool

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

Retorna

SharEntry

Instancia de entrada Shar.

Ejemplos

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

Observaciones

Si el archivo se abre inmediatamente con el parámetro openImmediately, queda bloqueado hasta que el archivo se elimine.

Excepciones

ArgumentNullException

name es nulo.

ArgumentException

name está vacío.

ArgumentNullException

fileInfo es nulo.

CreateEntry(string, string, bool)

Crea una entrada única dentro del archivo.

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

Parámetros

name string

El nombre de la entrada.

sourcePath string

Ruta al archivo a ser comprimido.

openImmediately bool

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

Retorna

SharEntry

Instancia de entrada Shar.

Ejemplos

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

Observaciones

El nombre de la entrada se establece únicamente dentro del parámetro name. El nombre de 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, queda bloqueado hasta que el archivo se elimine.

Excepciones

ArgumentNullException

sourcePath es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder.

ArgumentException

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

UnauthorizedAccessException

El acceso al archivo sourcePath está denegado.

PathTooLongException

La sourcePath, el nombre de archivo, o ambos exceden 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 shar.

NotSupportedException

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

CreateEntry(string, Stream)

Crea una entrada única dentro del archivo.

public SharEntry CreateEntry(string name, Stream source)

Parámetros

name string

El nombre de la entrada.

source Stream

El flujo de entrada para la entrada.

Retorna

SharEntry

Instancia de entrada Shar.

Ejemplos

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

Excepciones

ArgumentNullException

name es nulo.

ArgumentNullException

source es nulo.

ArgumentException

name está vacío.

DeleteEntry(SharEntry)

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

public SharArchive DeleteEntry(SharEntry entry)

Parámetros

entry SharEntry

La entrada a eliminar de la lista de entradas.

Retorna

SharArchive

Instancia de entrada Shar.

Ejemplos

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

using (var archive = new SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

Excepciones

ArgumentNullException

entry es nulo.

DeleteEntry(int)

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

public SharArchive DeleteEntry(int entryIndex)

Parámetros

entryIndex int

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

Retorna

SharArchive

El archivo con la entrada eliminada.

Ejemplos

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

Excepciones

ArgumentOutOfRangeException

entryIndex es menor que 0.-o- entryIndex es igual o mayor que Entries count.

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 eliminados.

Dispose()

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

public void Dispose()

Save(string)

Guarda el archivo en el archivo de destino proporcionado.

public void Save(string destinationFileName)

Parámetros

destinationFileName string

La ruta del archivo a ser creado. Si el nombre de archivo especificado apunta a un archivo existente, será sobrescrito.

Ejemplos

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

Observaciones

Es posible guardar un archivo en la misma ruta de donde se cargó. Sin embargo, esto no se recomienda porque este enfoque utiliza la copia a 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

La destinationFileName, el nombre de 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

La destinationFileName especificada no es válida, (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.

FileNotFoundException

El archivo no se encuentra.

Save(Stream)

Guarda el archivo en el flujo proporcionado.

public void Save(Stream output)

Parámetros

output Stream

Flujo de destino.

Ejemplos

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

Observaciones

output debe ser escribible.

Excepciones

ArgumentNullException

output es nulo.

ArgumentException

output no es escribible. - o - output es el mismo flujo del que se extrae.

 Español