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
Implementa
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
path
es nulo.
El llamador no tiene el permiso requerido para acceder.
El path
está vacío, contiene solo espacios en blanco o contiene caracteres no válidos.
El acceso al archivo path
está denegado.
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.
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.Shar.SharEntry que constituyen el archivo.
public ReadOnlyCollection<sharentry> Entries { get; }
Valor de la Propiedad
ReadOnlyCollection<SharEntry>
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
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
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 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.
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
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
directory
es nulo.
El llamador no tiene el permiso requerido para acceder a directory
.
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
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
name
es nulo.
name
está vacío.
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
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
sourcePath
es nulo.
El llamador no tiene el permiso requerido para acceder.
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.
El acceso al archivo sourcePath
está denegado.
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.
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
Instancia de entrada Shar.
Ejemplos
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
Excepciones
name
es nulo.
source
es nulo.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Excepciones
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
El archivo con la entrada eliminada.
Ejemplos
using (var archive = new SharArchive("two_files.shar"))
{
archive.DeleteEntry(0);
archive.Save("single_file.shar");
}
Excepciones
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
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.
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.
La destinationFileName
especificada no es válida, (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.
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
output
es nulo.
output
no es escribible. - o - output
es el mismo flujo del que se extrae.